The document discusses Seam, an open source Java web framework. It outlines Seam's key features like conversation scope for managing state across HTTP requests and atomic conversations. Seam provides tools for building applications quickly including seam-gen for project generation and validation integration. The document also mentions developer tools like JBoss Developer Studio and possibilities for using Flex as an alternative view layer.
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJLeonardo Balter
Slides apresentados no 16 EDTED, edição Rio de Janeiro, em 21 de Maio de 2011.
Aqui não tem vídeos, animações e códigos apresentados, mas tem os links. Logo passo o link completo.
Building Realtime Apps with Ember.js and WebSocketsBen Limmer
This talk discusses how AJAX differs from WebSockets and how the technology can be used to implement rich real-time experiences. It also produces a live demo using EmberJS.
A quick overview of tips, tricks and code snippets for developers using Symfony and all its ecosystem, from Monolog to Doctrine. Learn how to become more productive and discover some rarely used options and features.
The document discusses Step Objects, which are presented as an alternative to Page Objects and as a way to structure behavioral tests. Step Objects sit between Page Objects and behavior/test definitions. They are introduced as a layer that allows defining steps to act and verify without being tied to specific pages. The rest of the document covers example step definitions, using generic steps, handling data passing between steps, and principles for step organization.
This document discusses challenges with maintaining application state and browser history when using asynchronous JavaScript (Ajax). It presents solutions for handling out-of-order responses and preserving the back button functionality. The Yahoo User Interface (YUI) library is recommended for its browser history tool, which uses anchors to track browser history without reloading pages. Code examples are provided for initializing and using the YUI browser history manager.
This document discusses Pier, an open source content management system (CMS) built using Magritte and Seaside. Pier allows for easy customization of content and look without coding. It has an extensible architecture that supports various extensions. The document provides an overview of Pier from both the outside as a user and the inside in terms of its architecture. It also lists the core developers who build and maintain Pier.
This document provides an introduction to JBoss Seam, a Java web framework. It discusses key Seam concepts like contextual components, conversations, contexts, dependency injection, and events. It compares Seam to other frameworks like Spring and Hibernate. It also covers Seam's integration with technologies like JSF, EJB3, JPA and how it aims to simplify building web applications while improving developer productivity.
HTML5 is all the rage with the cool kids, and although there’s a lot of focus on the new language, there’s plenty for web app developers with new JavaScript APIs both in the HTML5 spec and separated out as their own W3C specifications. This session will take you through demos and code and show off some of the outright crazy bleeding edge demos that are being produced today using the new JavaScript APIs. But it’s not all pie in the sky – plenty is useful today, some even in Internet Explorer!
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...David Kaneda
This document discusses how to build rich mobile user experiences using web standards like HTML5, CSS3, and JavaScript. It covers various HTML5 features such as new elements, forms, video/audio, geolocation and caching. It also discusses CSS techniques including transforms, transitions, animations and vendor-specific properties. Challenges with fixed positioning, touch events and performance are addressed. The document promotes building web apps that are native-like using frameworks like jQTouch and Sencha Touch.
The document discusses developing for mobile web. It covers several topics including physical properties of mobile devices, their network usage and power constraints. It also discusses different versions of Gmail optimized for different devices. The document recommends inlining content, deferring non-essential work, and being creative with JavaScript libraries and debugging to improve performance for mobile. It highlights the ability of web technologies to build cross-device applications quickly without native restrictions. The conclusion is that native languages may be better if writing many device plugins, but web technologies can be effective otherwise.
This document discusses various Rails concepts and tools including MVC, ActiveRecord, templates/helpers, libraries/plugins, deployment, and internationalization. It provides code examples for features like validations, callbacks, counter caches, named scopes, STI, polymorphic associations, pagination, Ajax forms, and exception handling. Various plugins are described like attachment_fu, acts_as_taggable, will_paginate, and facebox_render for adding functionality. Deployment topics covered include mailers, exception tracking, and Capistrano.
HTML5 and the dawn of rich mobile web applicationsJames Pearce
HTML5 and its related technologies are enabling new ways to build beautiful sites and applications for contemporary mobile devices. Native mobile developers can now use web technologies to surmount cross-platform headaches, and desktop web developers can reach mobile users in familiar, app-like ways. This session explores the state of the art in HTML5-based mobile web frameworks, and demonstrates the practical possibilities that this powerful and standards-based approach can bring.
Firefox OS Web APIs, taking it to the next levelFrédéric Harper
The document discusses various types of web APIs available in Firefox OS, including regular APIs that provide access to device sensors and capabilities, privileged APIs that require additional permissions, and certified APIs for features like SMS and phone calls. Regular APIs described include the ambient light sensor, battery status, device light, network information, notifications, proximity sensor, screen orientation, and vibration. Privileged APIs discussed are the browser and contacts APIs. Certified APIs covered are the WebSMS and WebTelephony APIs. The document provides code examples for accessing many of these APIs and notes that some require adding permissions to the app manifest.
This document summarizes Christopher Schmitt's presentation on adaptive images in responsive web design. The presentation covered:
1. Using the browser width, screen resolution, and bandwidth to determine the appropriate image to serve through feature testing rather than browser sniffing.
2. Techniques for serving responsive images including using .htaccess files, the <picture> element, and JavaScript libraries like HiSRC that select images based on various tests.
3. Workarounds for older browsers including using background-size: 100%, SVG images, and font-based solutions.
These are the slides from my "HTML5 Real-TIme and Connectivity" presentation at the San Francisco HTML5 User Group (http://sfhtml5.org). The presentation covers:
Web Origin
Cross Document Messaging (PostMessage)
CORS
XHR Level2
WebSocket
Server-Sent Events (EventSource)
SPDY
[Roblek] Distributed computing in practicejavablend
The document discusses several key technologies used at Google to enable distributed computing at large scales:
1) Google File System (GFS) provides a scalable distributed file system.
2) Bigtable provides a structured storage system for large datasets.
3) MapReduce provides a programming model for processing vast amounts of data in parallel across large clusters.
4) Chubby provides a distributed lock service.
These systems address the challenges of building reliable services using unreliable commodity hardware.
The document discusses planned features and enhancements for Java SE 7, including a new module system, language enhancements like closures and strings in switch statements, API updates like New I/O version 2 and JMX 2.0, and other additions like a new garbage collector and JavaFX for rich clients. The release is expected in summer 2009 and will focus on multiple language support, modularity, and rich clients, as well as usual API updates and performance improvements.
The document discusses functions and their characteristics including domain, range, and inverse functions. It provides examples of evaluating, adding, multiplying, and dividing functions. It also covers compound functions, using graphs to determine domain and range, and recognizing functions using the vertical line test. Logarithms are also briefly introduced.
The document discusses various aspects of computers, the internet, and connecting to the internet. It defines key terms like intranet, HTML, XML, source code, and explains what is needed to access the internet and publish a website. Benefits of the internet mentioned include email, search engines, and access to vast information online.
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your applicationjavablend
The document discusses implementing SOA and BPM in applications. It covers business requirements, common acronyms, using open source frameworks, and provides an example implementation. The presentation agenda includes SOA and BPM architectures, an ontology example, BPMN and BPEL standards, and a JBoss-based reference architecture with jBPM, JBoss ESB, and rules components.
O documento descreve vários casos de clientes que contrataram serviços de marketing digital. Os desafios incluíam aumentar o tráfego de sites, lançar novos produtos, conscientizar o público sobre questões sociais e ampliar a presença de marcas online. As soluções envolveram criação de sites, otimização para mecanismos de busca, campanhas em mídias sociais e digitais.
This document discusses advanced usage of OpenCms' multi-site functionality. It describes how to configure a single OpenCms installation to manage multiple websites with individual domains, templates, and user permissions. Key aspects covered include using virtual hosts and rewrite rules in Apache to route requests to the appropriate OpenCms site, configuring sites and templates in OpenCms, and injecting site-specific content through JSPs. The document provides examples of implementing multi-site solutions for a hosted OpenCms platform and large student union website network.
Service Oriented Integration With ServiceMixBruce Snyder
This document summarizes a presentation about Service Oriented Integration with Apache ServiceMix. The presentation introduces Enterprise Service Buses and their purpose in facilitating integration. It then discusses key aspects of Apache ServiceMix, an open source ESB, including its support for various protocols and engines. The presentation provides examples of how ServiceMix can be used to configure routing and mediation using tools like Apache Camel and content-based routing. It concludes by discussing newer developments in ServiceMix 4 that utilize OSGi and build upon integration patterns.
Google Back To Front: From Gears to App Engine and Beyonddion
I had the privilege of giving a Yahoo! Tech Talk at their HQ in Sunnyvale. I spoke on Gears, App Engine, and other technologies such as the Ajax Libraries API and Doctype.
Sinatra is a lightweight web application framework for Ruby that provides a minimal DSL (Domain Specific Language) for building web apps. It relies on the Rack middleware specification to interface with web servers and keeps a minimal feature set, allowing developers flexibility. Key features include routing, parameters, filters, helpers, layouts, and the ability to test applications. Sinatra apps can be deployed on web servers using Passenger and a config.ru file.
Those days, when it seemed, that web applications have overthrown standard “cumbersome” client apps, we’ll speak about present and future of consumer oriented desktop applications. This includes, but not restricted to patterns of LOB applications development with WPF, right multimedia support of DirectX bridge and new features, waiting for you in Windows 7. Also we’ll speak about subject oriented programming, will be introduced in NET. 4.0 and how to leverage it even today with the current version of Microsoft framework. tits will be shown during the session, thus restricted to mature audiences
Boston Computing Review - Java Server PagesJohn Brunswick
1) JSP (Java Server Pages) is a core technology for developing web applications in Java and provides a simple way to add dynamic content to web pages through Java code and reusable components.
2) JSP pages are compiled into Java servlets that generate responses, allowing developers to focus on presentation logic while business logic is encapsulated in reusable objects.
3) Key elements of JSP include scriptlets for Java code, directives for configuration, expressions for output, and implicit objects for accessing request parameters and session information.
1) JSP (Java Server Pages) is a core technology for developing web applications in Java and provides a simple way to add dynamic content to web pages through Java code and reusable components.
2) JSP pages are compiled into Java servlets that generate responses, allowing developers to focus on presentation logic while business logic can be encapsulated in reusable objects.
3) Key elements of JSP include scriptlets for inline Java code, directives for configuration, expressions for output, declarations for methods, and implicit objects to access request and session information.
Presented at SXSW '09, this talk covers five best practices from my next book: Load scripts without blocking, Coupling asynchronous scripts, Don't scatter inline scripts, Use iframes sparingly, and Flush the document early.
The document summarizes Steve Souders' presentation on optimizing frontend performance. It discusses the importance of frontend optimization, common techniques like minimizing HTTP requests and leveraging a CDN. It then covers strategies for loading scripts asynchronously without blocking parallel downloads or rendering, including techniques like script DOM element, XHR injection, and coupling asynchronous scripts with dependencies.
The document summarizes Steve Souders' presentation on optimizing frontend performance. It discusses techniques for loading scripts asynchronously without blocking parallel downloads and rendering, including using script DOM elements, XHR injection, and script deferring. It also covers solutions for preserving execution order and handling dependencies between inline code and scripts.
This document provides an overview of the Swing Application Framework and Beans Binding frameworks being developed as part of JSR 296 and JSR 295. It discusses the motivations for creating standard frameworks to simplify Swing development, outlines the key goals and components of the Swing Application Framework, and briefly introduces Beans Binding for keeping object properties in sync. The frameworks are aimed at addressing common issues for typical Swing applications and are intended for the Java SE 7 platform.
If you’re tired of running the same commands over and over when setting up your servers, you’ll love Chef. It’s a systems integration framework that allows you to use a Ruby DSL to manage your system configurations, and then easily deploy them across your entire infrastructure, à la Capistrano. Tyler will be breaking down the various components of Chef, and showing some example configurations to get you cooking.
This document provides an overview of Silverlight and XAML. It discusses key Silverlight concepts like using XAML to define user interfaces with objects and controls, data binding, animations, sandboxing, and supported .NET features. Sections cover XAML basics, layout containers, templates and styles, web services, animations with triggers and code, and Silverlight 2 runtime capabilities. Resources for learning more about Silverlight development and deployment are also listed.
This document provides tips and rules for writing good Flex code to avoid being fired or facing other negative consequences. It begins with introductions of the author and intended audience. Next, it defines what constitutes bad code and why developers write it. The bulk of the document provides examples of bad Flex code snippets and explains what is wrong with each in terms of maintainability, performance, or separation of concerns. It concludes by listing rules for writing good code and inviting questions.
Developing Desktop Applications using HTML and JavascriptJeff Haynie
Presentation given by Jeff Haynie, CEO of Appcelerator on building Desktop Applications using Appcelerator Titanium. http://titaniumapp.com
This presentation was given at the JSConf 2009 in Washington, DC.
This document provides an introduction to MERB (Modular, Elegant Resource-Based) and discusses several key concepts related to MERB including background processes, web services, embedded components, distributed applications, and the Rack middleware framework. The document is written in an informal tone and touches on many different topics at a high-level without going into detail on any single topic.
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxSynapseIndia
Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...Toru Tamaki
Jindong Gu, Zhen Han, Shuo Chen, Ahmad Beirami, Bailan He, Gengyuan Zhang, Ruotong Liao, Yao Qin, Volker Tresp, Philip Torr "A Systematic Survey of Prompt Engineering on Vision-Language Foundation Models" arXiv2023
https://arxiv.org/abs/2307.12980
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
An invited talk given by Mark Billinghurst on Research Directions for Cross Reality Interfaces. This was given on July 2nd 2024 as part of the 2024 Summer School on Cross Reality in Hagenberg, Austria (July 1st - 7th)
Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 :
- Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants.
- REX client : Cyril Janssens, CTO d’ easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
Mitigating the Impact of State Management in Cloud Stream Processing SystemsScyllaDB
Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states.
In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing.
Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Bert Blevins
Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.
Kief Morris rethinks the infrastructure code delivery lifecycle, advocating for a shift towards composable infrastructure systems. We should shift to designing around deployable components rather than code modules, use more useful levels of abstraction, and drive design and deployment from applications rather than bottom-up, monolithic architecture and delivery.
Measuring the Impact of Network Latency at TwitterScyllaDB
Widya Salim and Victor Ma will outline the causal impact analysis, framework, and key learnings used to quantify the impact of reducing Twitter's network latency.
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
1. Seam
Pete Muir
JBoss, a Division of Red Hat
http://in.relation.to/Bloggers/Pete
pete.muir@jboss.org
2. Road Map
• What is Seam?
• Why should I care about atomic conversations?
• How do I quickly build an application with Seam?
• What tools are available?
• The future
4. Where can I run my app?
WebSphere Web Logic
Tomcat Glassfish
JBoss Enterprise
JBoss Application Server
Application Platform
JBoss SOA Platform
5. !quot;#quot;$%$&&
Seam is contextual
'($)quot;
• Stateful
• store objects for as long as you *#+$
need them
• Seam manages all interactions ,-)($.&#quot;/-)
with the context
• dependencies are injected and !$&&/-)
updated every time a component
is accessed
01&/)$&&!*.-2$&&
344%/2#quot;/-)
6. Seam will store the
The unified component model component in the
conversation context
@Name(quot;discEditorquot;) @Scope(CONVERSATION)
public class DiscEditor {
Inject the
@In EntityManager entityManager; EntityManager
@In Session mailSession;
@In @Out Item disc; Inject a
JavaMail
@In(scope=SESSION) User user; session
Alias the item from the
// Use the components in some way context, and update the
;-)
context if the object
} changes
Specify the
context to inject
from 8
7. Road Map
• What is Seam?
• Why should I care about atomic conversations?
• How do I quickly build an application with Seam?
• What tools are available?
• The future
8. Why do I want an atomic conversation?
• Here’s a common scenario:
• A user has a task to complete which:
• spans multiple pages
• should be able to click cancel or back at any time, no changes made
until the user is finished
• should be able to do the same task in multiple windows
Review and confirm
View a hotel Enter your booking
booking
9. What does Seam provide?
• A conversation scope
• shorter than the session, longer than a request
• demarcated by the application developer
• a conversation per window/tab
Application
Session Session
Conversation Conversation
Request Request
10. What does Seam provide?
• A conversation scoped persistence context keeps entities
attached for the entirety of the user’s task
• guarantees object equality
• allows lazy loading
• An atomic conversation needs to only flush changes at
particular points
• Only flush the persistence context when explicitly instructed to
11. What does Seam provide?
• An atomic conversation needs to only flush changes at
particular points
• Need to use a manual flush mode from Hibernate
@Begin(flushMode=MANUAL)
public void editDisc() {
// Load the item to edit
}
@End
public void saveDisc() {
entityManager.flush();
}
12. How do I manage the system transaction then?
• Seam manages the system transaction for you
• A read-write transaction
• A read only transaction for rendering the page (slightly better
than Open Session in View)
CONVERSATION
EVENT EVENT
APPLY INVOKE RENDER
RESTORE PROCESS UPDATE
REQUEST APPLICATION RESPONSE
VIEW VALIDATIONS MODEL
VALUES
PERSISTENCE CONTEXT
FLUSH
SYSTEM TRANSACTION
13. Road Map
• What is Seam?
• Why should I care about atomic conversations?
• How do I quickly build an application with Seam?
• What tools are available?
• The future
14. Application Framework
• UI orientated controller components Can define in XML or
Java for custom
• EntityHome for CRUD behaviour
<fwk:entity-home entity-class=quot;com.acme.Discquot; name=quot;discHomequot;/>
<s:decorate template=quot;/edit.xhtmlquot;>
<h:inputText value=quot;#{disc.name}quot; required=quot;truequot; />
</s:decorate>
<h:commandButton action=quot;#{discHome.update}quot; value=quot;Savequot; />
<h:commandButton action=quot;#{discHome.remove}quot; value=quot;Deletequot; />
Seam provides JSF Bind directly to
controls for easy the entities, no
decoration of fields need for DTOs
15. Application Framework
• EntityQuery for search
<fwk:entity-query name=quot;discsquot; ejbql=quot;select d from Disc dquot; order=quot;d.namequot;
max-results=quot;5quot;>
<fwk:restrictions>
<value>lower(d.name) like concat(#{exampleDisc.name}, '%'))</value>
</fwk:restrictions>
</fwk:entity-query> Basic queries can be
specified in XML
<component name=quot;exampleDiscquot; class=quot;com.acme.Artistquot; scope=quot;sessionquot; />
A prototype, used
to bind query
parameters
between UI and
query
17. <h:inputText value=quot;#{disc.name}quot; required=quot;truequot;>
<s:validate />
</h:inputText>
Validation
• Need to report validation errors back to the user on the correct
field
• BUT normally need to enforce same constraints at the
persistence layer and the database
@Entity public class Item {
@Id @GeneratedValue Long id;
@Length(min=3, max=1000, message=quot;Must be between 3 & 1000 charsquot;)
String description;
}
18. Road Map
• What is Seam?
• Why should I care about atomic conversations?
• How do I quickly build an application with Seam?
• What tools are available?
• The future
19. Tooling
• seam-gen - command line tool for generating skeleton
project and reverse engineering a database schema
using Seam Application Framework
• JBoss Developer Studio - Eclipse based IDE
• For $99 you get a full installer + JBoss EAP
• Based on the freely available JBoss Tools Eclipse plugins
21. Road Map
• What is Seam?
• Why should I care about atomic conversations?
• How do I quickly build an application with Seam?
• What tools are available?
• The future
22. Flex as a view layer
• A community effort
• Uses Granite Data Services or Blaze Data Services
• Check out a couple of demos at
http://www.rationaldeveloper.com
23. JSF 2
• Easy Component Creation & Templating
• Standardizes Facelets
• No XML needed to create a component
• Built in Ajax support
• Many improvements to JSF
• lifecycle (performance!)
• error handling
• navigation
24. What else?
• Seam 2.1 release candidate in the next week or two
• Friendly URLs
• Identity Management
• ACL style permissions
• Wicket support
• Excel reporting module
• Support for JAX-RS (REST)