Oracle Java fejlesztési stratégiája Petrohán Zsolt Vezető műszaki tanácsadó Oracle Hungary
[THIS SLIDE SHOULD NOT BE ALTERED IN ANY WAY] – UPDATED AS OF Oracle OpenWorld 2007 BROAD MIDDLEWARE DEFINITION Broad range of solutions across a number of business areas—flexible so you can adopt what you need when you need it Unlike other vendors, when you adopt individual solutions they are pre-integrated to work together The core middleware and application infrastructure components you need to GROW, MEASURE, PROTECT, and EMPOWER your business 2
Vállalati IDE Java EE Web Services BPEL & ESB BAM WebCenter / Portlets Database XML JDeveloper 3
Oracle JDeveloper Komplett Szabványos Termelékeny Stratégiai eszköz Teljes fejlesztési életciklus Egy eszköz a Java, Web Services, XML, DB, SOA technológiákhoz Szabványos Ipari szabványok támogatása Több platform (AS és DB) Termelékeny Megnövelt kódolási termelékenység Vizuális és deklaratív fejlesztés Oracle Application Development Framework (Oracle ADF) Stratégiai eszköz Fusion Middleware számára Oracle Database számára Oracle Fusion Applications számára INGYENES
Vizuális és deklaratív WYSIWYG szerkesztők JSF, JSP, HTML, Swing Vizuális Page Flow-k JSF, Struts Modellezők DB, Class, EJB Vizuális XML szerkesztő XML Schema, XSLT, WSDL Process Flow BPEL, ESB To simplify development and make it more accessible, JDeveloper offers a visual and declarative approach to development: when developing the User interface through WYSIWYG editors for various technologies when developing the application flow Through support of the most popular UML modelers Or when developing a BPEL business process ….. 5
The Oracle Application Development Framework
Oracle Application Development Framework (Oracle ADF) Termelékenység & egyszerű használat Vizuális és deklaratív fejlesztés Gondoskodik a “csőszerelés” jellegű kódolásról Bevált technikák megvalósítása Támogatja a SOA fejlesztést Újrafelhasználható üzleti szolgáltatások Összetett alkalmazás fejlesztés Szabványokon alapul Választható technológia és telepítési platform Közös keretrendszer a Fusion Middleware platform számára
Oracle ADF Architecture Desktop Browser Swing Office JSP JSF ADF Faces Nézet Struts JSF/ADFc Vezérlő Metadata Services ADFm (JSR 227) Modell Java EJB BAM BPEL Web Services ADF BC BI XML Portlet Üzleti szolgáltatások Toplink Relational Data XML Data Legacy Data Packaged Apps Adat szolgáltatások 8
Open Source támogatás
Elkötelezettek vagyunk a közösségek iránt Over the last year we’ve made a number of contributions to a number of OSS efforts, we’ve made our database Free we’ve made JDev free in addition to the Eclipse contributions and we are going to continue helping OSS our participation in projects that we believe are doing the right thing.
TopLink Essentials: JPA RI JPA Open Source referencia megvalósítás Bizonyított Oracle TopLink termékből származik Elérhető Sun OS Glass Fish projektjén keresztül https://glassfish.dev.java.net/ Egyszerű upgrade a teljes TopLink-re Hangsúlyos cache – teljesítmény & skálázhatósági képességek Fejlettebb ORM képességek Fejlett DB tulajdonságok kiterjesztése Object-XML (JAXB) és EIS támogatás OracleAS 10.1.3.1-től az alapértelmezett JPA szolgáltató Oracle is a leader in delivering EJB 3.0 and JPA: Specification co-lead (Mike Keith – J2EE/EJB/TopLink Architect) Provided the reference implementation in TopLink Essentials TopLink Essentials is the open-source edition of the Oracle TopLink product. They share the same core ORM engine enabling this first generation open source product to leverage the benefits of over 12 years of production usage. This makes TopLink Essentials a commercial quality solution focused on delivering JPA functionality as well as many popular extensions. Much more information as well as downloads of regular builds with source are available from OTN’s JPA micro site (http://otn.oracle.com/jpa).
JPA eszközök JDeveloper 10.1.3 Eclipse Entitás táblából Session Bean generálás EJB 3.0 entitások vagy TopLink POJOs ADF integráció Eclipse Dali projekt – www.eclipse.org/dali JPA fejlesztés támogatás Web Tools Platform-on belül Oracle vezeti mások közreműködésével Letölthető In addition to leading the specification and delivering the open source reference implementation of JPA, Oracle has also taken up the challenge of delivering developer tooling support within leading IDEs. The 10.1.3.1 version of JDeveloper provides excellent productivity tooling to enable the use of the embedded EJB 3.0 container with TopLink Essentials as its default JPA provider. Oracle is also very involved in the Eclipse community. In the case of JPA, Oracle is leading the Eclipse Dali JPA Tools project delivering JPA tooling within the Web Tools Platform (WTP). This support provides excellent productivity and diagnostics capabilities to reduce the learning curve of this important new technology.
Spring Framework és TopLink Integrált Data Access Object támogatás TopLink-hez a Spring 1.2-ben Integrált támogatás TopLink Essentials-hez a Spring 2.0-ban Tradicionális DAO sablon alapú megközelítés támogatása Spring 2.0-ban az alapértelmezett JPA szolgáltató a TopLink Essentials OracleAS (OC4J) támogatja The popular Spring framework has had support for TopLink ORM since the 1.2 release. In 1.2, TopLink has the same level of support as JDBC, JDO, and Hibernate for persistence using the DAO (Data Access Object) pattern supported by Spring’s template approach. Although the use of advanced TopLink features (e.g, historical queries) is also supported in Spring. Through close cooperation between TopLink engineering and the Spring development team, Spring 2.0 provides tightly integrated support for JPA and ships with TopLink Essentials as the default persistence provider. Spring 2.0 supports the two types of JPA integration: the bootstrap API approach (typically used in Java SE applications) or the container contract API approach which is used by Java EE containers to integrate JPA with container services like transaction, data sources, and byte code weaving. Spring’s implementation of the container contract API provides the ability to write JPA applications in a Java EE container style allowing Spring to manage transactions and avoiding the need for the DAO templates. Spring 2.0 also ships with out of the box support for OC4J 10.1.3 so Spring and TopLink Essentials JPA applications can leverage OC4J services.
Ant és JUnit integráció Kiterjedt Ant támogatás Integrált JUnit környezet Csoportmunka támogatás
Oracle Fusion Middleware Complete, Integrated, Modular, Hot Pluggable
Oracle Coherence
Oracle Coherence Data Grid Enterprise Applications Real Time Clients Web Services Objektum-orientált alapú CRUD műveletek Megbízható, elosztott, konzisztens, in- memory adatréteg biztosítása Magas rendelkezésre állás, gyors elérés Egyszerű és prediktív skálázhatóság mind adat és számítási kapacitás tekintetében eXtreme Transaction Processing (XTP) Data Services Oracle Coherence Data Grid Databases Mainframes Web Services 17
JSF, ADF Faces
Java Server Faces What is JSF? Web UI technology is constantly evolving and JSF makes the next leap in this evolution by providing a component model to abstract the low-level APIs (such as the HTTP Protocol, HTML, JavaScript, ..etc.) used in traditional Web development. Thus, a user-interface built with JSF hides the complexities of user-interface management, including input validation, component-state management, page navigation, and event handling --there by simplifying, the process of building Web UIs. Think components, not markup Let’s consider what is required to develop a simple order form using traditional web technologies: HTML for your presentation, state-management over HTTP, JavaScript for input validation and behaviour, and a Servlet on the server-side to process the order. In JSF, the developer can divorce herself from these underlying technologies and consider a field or a button on a form as a component in terms of a traditional UI. A button is as we think of it in the physical world, it is not an HTML or JSP tag, but an object that when pressed has a an associated behaviour. Developers can attach listeners to interpret user interactions with components into business logic, and the JSF infrastructure manages the rest for you. Thus, developing JSF applications is more about user interface design and assigning business logic to components than programming against low-level APIs. Device independence There is an additional benefit to this separation between components and their underlying implementation. It allows component to provide support for clients other than the traditional HTML browser. As a developer you can detach yourself from the idea that you are running on the web. The target client device could be a WAP browser, a PDA, or even a telnet client. We’ll dive into this a little deeper later on. Leveraged by tools Furthermore, the JSF component model was developed with "tool-ability“ in mind. Vendors have leveraged this model to develop Rapid Application Development (RAD) environments, appealing to a broad spectrum of developers: business developers, application developers, and even the venerable code warrior. In fact, tool-ability is still a focus of the JCP standards body through JSR-276 – Design Time Metadata for JSF Components (Ref: http://www.jcp.org/en/jsr/detail?id=276) which aims to ensure that components from different vendors render correctly in IDEs that support JSF. Vendor support and standards based Finally, It is this community involvement and standards (such as JSR 127 and 227) that sets JSF apart from competing frameworks. The core contributors to the original standard where Sun, Oracle and IBM. The birth of the standard was long and troubled, but the end result was without compromise and worthwhile. As we'll see later, the standard was not developed in a vacuum. Many of the key concepts and best practices were adopted from existing J2EE frameworks. At the moment, there are two significant implementations of the specification the Sun RI (reference implementation) and the Apache MyFaces project. Mi a JSF? Hozzáférés Szabványos szerver-oldali felhasználói interfész komponens keretrendszer Gondolkodj komponensekben Megjelenés független J2EE szabvány Nagyszámú szállítói támogatottság Többek között: Sun, Oracle, IBM Nézet
ADF Faces Rich Client főbb jellemzői Partial Page Rendering Help/Hints Dokumentált JavaScript API Kliens oldali validáció Layout/geometry PageFlow scope Oldal sablonok Open Source 100+ komponens Ajax támogatás Jobb „alap” JSF Magas teljesítmény ADF integráció Adat megjelenítés komponensek Active Data Framework Dialog and popup framework Navigation menu framework Drag and drop 20
ADF Faces Rich Client példák
Adat megjelenítés komponensek So the point here is yes we have ordinary charts such as pies, bar etc. But visualization extends into some more advances areas such as scheduling (with the Gantt), Time series, mapping, pivot tables and so on Varying render types for charts such as the pie here – Flash, SVG or PNG 22
JSF sablonok Sablon Templates are defined at design time and provide developer defined regions of content. The implementation is based on JSF components and is very natural for a JSF developer to use. The link to the template is also kept so as the template is updated the change is inherited by all consuming pages. Note how the top page implements content in both the main content and the Menu regions. The graph page only uses the main content area. 23
Oracle WebCenter
Oracle WebCenter WebCenter Framework WebCenter Services Java EE alkalmazásokhoz testreszabás és tartalom gazdag képességek Portlet/JSF bridge WebCenter Services Web 2.0 szolgáltatás az ön által fejlesztett Java alkalmazásoknak
Oracle WebCenter Szerző Szerkesztő Publikál Wiki RSS Oldal létrehozása Mobil Blog
Java tranzakciók diagnosztikája AD4J használatával
Enterprise Manager – Application Diagnostics for Java (AD4J) APM megoldás erősítése Probléma diagnosztika éles környezetben Teljes java aktivitás figyelése: instrumentációra nincs szükség Tranzakciók trace- elése rétegek között Oracle DB-ig Operating Systems Database Middleware Applications Configuration Management Service Level Management Application Performance Mgmt Lifecycle Management Dashboards