OpenEdge® 10.1A Introduction & Overview PUG Norway Lillehammer March 16th & 17th Pat Bonser Product Readiness What is OpenEdge 10 Anyway? A roadmap for how applications will be defined, developed, deployed, managed and integrated A project involving 4 application development strategies • • • • Advanced business logic capabilities Integration capabilities User interface independence Database capabilities An initiative to bring SOA concepts to reality March 2006, PUG Norway 2 © 2006 Progress Software Corporation OpenEdge 10 Roadmap for SOA Focus on Enablement March 2006, PUG Norway Focus on Productivity Focus on Best Practices 3 © 2006 Progress Software Corporation OpenEdge 10 Delivery Concept For Any Capability… Start by Making It Possible Work on Making it Easier Then Automate It March 2006, PUG Norway 4 © 2006 Progress Software Corporation OpenEdge Phasing and Objectives OpenEdge 10 For Any Capability… Phase I: Start by Making It Possible OpenEdge 10.0A OpenEdge 10.0B Phase II: Work on Making it Easier OpenEdge 10.1A Phase III: Then Automate It The Future March 2006, PUG Norway 5 © 2006 Progress Software Corporation OpenEdge Phasing and Objectives OpenEdge 10 For Any Capability… Phase I: Start by Making It Possible OpenEdge 10.0A OpenEdge 10.0B Phase II: Work on Making it Easier OpenEdge 10.1A Phase III: Then Automate It The Future March 2006, PUG Norway 6 © 2006 Progress Software Corporation OpenEdge 10.1x: Emphasis on Productivity Core services for business applications Tools for Business Logic Improvements in language productivity Continued emphasis on Web services Tools for Service Interface generation Enhanced integration with Sonic Renewed emphasis on thin client Increased Open Client capabilities Enhanced UI capabilities Performance, performance, performance Availability, scalability, reliability Continued growth of SQL March 2006, PUG Norway 7 © 2006 Progress Software Corporation OpenEdge 10.1A OpenEdge® Architect Object-Oriented Extensions to the 4GL (ABL) Core Business Services – Auditing for OpenEdge® Language & UI XML ProDataSets Consuming Web services Open Client OpenEdge Connectivity to SonicMQ® OpenEdge® RDBMS OpenEdge® SQL Platforms & 64bit Support Packaging & Installation Diagnostics & Logging March 2006, PUG Norway 8 © 2006 Progress Software Corporation OpenEdge Architect Simplifies Designing, Developing, and Testing Open Edge Architect is an integrated development environment tailored for building applications using an architected, business-logic centric approach March 2006, PUG Norway 9 © 2006 Progress Software Corporation OpenEdge Architect Fundamentals Tool Eclipse Open Source Platform Tool Tool March 2006, PUG Norway 10 © 2006 Progress Software Corporation Key Contents of OpenEdge Architect Project Based Development DB Navigator Meta Catalog T4BL (Tools for Business Logic) OpenEdge Architect Meta Catalog Database Navigator Services March 2006, PUG Norway 11 © 2006 Progress Software Corporation OpenEdge Architect Meta Catalog Supports developers in analyzing the impact of code changes - how code is related to other code Focuses on the needs of developers navigating large amounts of code making up a complex application Provides significant productivity benefits to developers in their day-to-day work March 2006, PUG Norway 12 © 2006 Progress Software Corporation What are T4BL ? Tools for Business Logic Visual design tools for the development of business objects • Business objects that represent data elements and business logic that provide application functionality Tools to model business objects which can be used to generate ABL application code • Using T4BL component models – ABL code can generated which can then be used/reused in OpenEdge applications Supports the OpenEdge Reference Architecture March 2006, PUG Norway 13 © 2006 Progress Software Corporation Code/Model Development Accommodate a wide range of development styles Code written by hand can easily be transformed into visual model components Text/Code Oriented Visual/Graphically Oriented Code-centric Model-centric Code/Model Development Model components can be visually edited and the code elements will reflect the change March 2006, PUG Norway 14 © 2006 Progress Software Corporation Code/Model Round Trip Code can be created or edited at any time Code is not dependent on a model DEFINE TEMP-TABLE ttCust LIKE Customer. DEFINE TEMP-TABLE ttOrder LIKE Order. DEFINE TEMP-TABLE ttOrdlin LIKE OrderLine. DEFINE DATASET CustOrdLin FOR ttCust,ttOrder,ttOrdlin DATA-RELATION Customer_Order FOR ttCust,ttOrder RELATION-FIELDS (CustNum,CustNum) DATA-RELATION Order_OrderLine FOR ttOrder,ttOrdlin RELATION-FIELDS (OrderNum, OrderNum). DEFINE INPUT PARAMETER NumCusts AS INTEGER. DEFINE OUTPUT PARAMETER DATASET FOR CustOrdLin. DEFINE OUTPUT PARAMETER sError AS CHARACTER. DEFINE DATA-SOURCE srcCust FOR Customer. DEFINE DATA-SOURCE srcOrder FOR Order. DEFINE DATA-SOURCE srcOline FOR Orderline. BUFFER ttCust:ATTACH-DATA-SOURCE(DATA-SOURCE srcCust). BUFFER ttOrder:ATTACH-DATA-SOURCE(DATA-SOURCE srcOrder). BUFFER ttOrdlin:ATTACH-DATA-SOURCE(DATA-SOURCE srcOline). ttCust Code elements can be transformed into model elements at any time ttOrderLin CustNum:INTEGER CustName:CHARACTER Contact:CHARACTER Country:CHARACTER OrderNum:INTEGER LineNum:INTEGER ItemNum:INTEGER Qty:DECIMAL 1 N ttOrder N OrderNum:INTEGER CustNum:INTEGER OrderDate:DATE ShipDate:DATE 1 BUFFER ttCust:BATCH-SIZE = NumCusts. March 2006, PUG Norway Models create structure and code that can be edited Based on Templates and Rules 15 © 2006 Progress Software Corporation Business Logic Tool Set Component Designer • Graphical editor • Used to create and edit components Application Schema Explorer • Provides a view to efficiently locate building blocks • Promotes reuse of code March 2006, PUG Norway 16 © 2006 Progress Software Corporation 3rd Party Plug-ins Over 300 plug-ins available today • Provides vast array of customization options Examples of available plug-ins include • Modeling, SCM, Additional Languages http://www.eclipse.org/community/ http://www.eclipseplugincentral.com/ March 2006, PUG Norway 17 © 2006 Progress Software Corporation 3rd Party Plug-ins http://www.eclipse.org/community/ March 2006, PUG Norway http://www.eclipseplugincentral.com/ 18 © 2006 Progress Software Corporation Object-Oriented Extensions to the 4GL Progress 4GL becomes OpenEdge ABL (Advanced Business Language) A procedure-oriented and object-oriented language for next-generation business applications Blends the best of business-purposed 4GL and object-oriented language features • Procedure-orientation for easier process design • Object-orientation for business object design & reuse March 2006, PUG Norway 19 © 2006 Progress Software Corporation Object-Oriented Extensions Promotes Reuse, Maintainability, and Robustness Enabling developers to model applications the way they think about them - Encapsulating the data and the operations that manipulate it Class: Order PRIVATE: ordNum AS INT CalculatePrice ( ) PROTECTED: CalculateTax ( ) PUBLIC: InitOrder ( ) GetOrderTotal ( ) Class: InternalOrder INHERITS Order PUBLIC: GetOrderTotal ( ) March 2006, PUG Norway 20 © 2006 Progress Software Corporation Object-Oriented Extensions Promotes Reuse, Maintainability, and Robustness “… have been designed to complement the 4GL, and are meant to be combined and integrated with ‘traditional’ procedures, when it makes sense to do so. The object-oriented enhancements extend the core values of the 4GL, not replace them.” The OO Extensions support the concepts of • • • • Encapsulation Inheritance Polymorphism Delegation March 2006, PUG Norway 21 © 2006 Progress Software Corporation A Logical Model Encapsulation Data Members Methods Inheritance Interface Subclass Polymorphism Delegation March 2006, PUG Norway 22 © 2006 Progress Software Corporation Core Business Services – Auditing for OpenEdge® OpenEdge 10.1 provides an Auditing Framework that can supply an uninterrupted trail of an application client’s access to its operations and data Low application impact • Minimal, if any, application changes necessary Application Access Auditing • Full control over data and non-data events Database Access Auditing • Works for native and SQL access • Create/Update/Delete, Schema changes, Utilities . . . Secure access to audit logs • Easy reporting and monitoring capabilities March 2006, PUG Norway 23 © 2006 Progress Software Corporation Core Business Services – Auditing for OpenEdge® High Performance Solution for “Who did what, when?” Guaranteed nonrepudiable audit trail Only audits what is needed Relationally stored audit data for easy reporting Seamless access across the ABL and SQL EndUsers Database Privileged Users March 2006, PUG Norway 24 © 2006 Progress Software Corporation Language Enhancements … A language that is as powerful and easy to use for SOA applications as the original language was for host-based applications UNDO of *LOBS Parameter passing NUM-REFERENCES attribute Short-hand syntax for dynamic references DBTYPE evaluation by preprocessor Static Widget IDs ... March 2006, PUG Norway 25 © 2006 Progress Software Corporation Language - UI Enhancements XP Look • • • • • Buttons with Labels Buttons with Images Rectangles Browses Resizable Windows Status Area Manifest file • prowin32.exe.manifest • prowc.exe.manifest New WINDOW-SYSTEM value • MS-WINXP March 2006, PUG Norway 26 © 2006 Progress Software Corporation Language – XML Enhancements SAX Writer Object • Allows Progress developers to stream XML, significantly reducing memory requirements • Supports the handling of very large XML documents XML Schema Validation • Allows the parser to validate XML documents to the grammar rules described in the schema March 2006, PUG Norway 27 © 2006 Progress Software Corporation Language – ProDataSet Enhancements To/From XML Documents XML Related Attributes XML Schema to 4GL Tool Parameter Passing Enhancements ROW-UPDATE Event March 2006, PUG Norway 28 © 2006 Progress Software Corporation OpenEdge® RDBMS Multi-threaded utilities AI Management Availability features Replication Failback Log file format DBTool March 2006, PUG Norway 29 © 2006 Progress Software Corporation OpenEdge® SQL Performance Type 4 JDBC Driver J2EE/JTA Online Schema Changes Schema Management SQL99 Array Data Type March 2006, PUG Norway 30 © 2006 Progress Software Corporation Consuming Web services Improved Complex Data Support • ProDataSet and Temp-Table – Serialized as an XML document – Deserialize XML document Analyzer will indicate if mapping is possible Unwrapped Wrapped Document Literal • Simplified programming – Multiple simple parameters easier to work with than one complex document • Improved interoperability with 4GL Web Services March 2006, PUG Norway 31 © 2006 Progress Software Corporation Open Client Java Service Data Objects • “ProDataSets for Java” OpenAPI • Run procedures on the AppServer without a proxy • A set of classes used in place of generated proxies – One set of classes for .NET Open Client – One set of classes for Java Open Client March 2006, PUG Norway 32 © 2006 Progress Software Corporation OpenEdge Connectivity to SonicMQ® Increased ease of use, robustness, and performance – ensuring Sonic as the core integration choice Symbiotic Adapter for SonicMQ • SonicMQ BrokerConnect • SonicMQ ClientConnect • SonicMQ ServerConnect Simplified Installation New APIs to support for SonicMQ 6 features • • • • Client persistence Fault tolerance Service-based message selectors Serialized connection objects March 2006, PUG Norway 33 © 2006 Progress Software Corporation Platforms & 64bit Support Full support for 64bit platforms with 64bit r-code Native Linux 64bit Port • Ported RedHat AS 3.0 Linux • Certified SuSe Enterprise 9 32bit & 64bit r-code • UNIX/Linux customers need to decide…. – Portability Vs. Native 64bit Maintain Database & Network Portability • Databases compatible between 32bit and 64bit – 32bit created Databases work on 64bit platforms • 32bit Clients can access 64bit Servers March 2006, PUG Norway 34 © 2006 Progress Software Corporation Packaging & Installation Packaging • New Product – OpenEdge Architect • DVD media • Samples moved to PDF CD Installation & Configuration • • • • Silent installs can be customized and embedded Easier to update licenses Skip on install Help on install dialogs March 2006, PUG Norway 35 © 2006 Progress Software Corporation Diagnostics & Logging Diagnostic Tools • User logging Logging • New methods on LOG-MANAGER system handle – CLOSE-LOG – CLEAR-LOG – WRITE-MESSAGE March 2006, PUG Norway 36 © 2006 Progress Software Corporation OpenEdge 10.1A Summary & Questions OpenEdge® Architect Object-Oriented Extensions to the 4GL (ABL) Core Business Services – Auditing for OpenEdge® Language & UI XML ProDataSets Consuming Web services Open Client OpenEdge Connectivity to SonicMQ® OpenEdge® RDBMS OpenEdge® SQL Platforms & 64bit Support Packaging & Installation Diagnostics & Logging March 2006, PUG Norway 37 © 2006 Progress Software Corporation Driving towards Competitive Applications Product Directions 10.0 - 10.1 Data Management Auditing Language New data types Servers Web Services UI XP Look Tools OpenEdge Architect March 2006, PUG Norway 38 © 2006 Progress Software Corporation Fulfillment for Competitive Applications Product Directions 10.0 - 10.1 10.1 and Beyond Data Management Data Management Auditing Scalability and Capacity Language Language New data types Servers Complete the OO features Servers Web Services UI Easier Integration and SOA User Interface XP Look New User Interface Tools OpenEdge Architect March 2006, PUG Norway Tools T4BL and UI Tools 39 © 2006 Progress Software Corporation