880 likes | 897 Views
Learn to tackle business challenges and adapt to emerging technologies with a comprehensive guide to OpenEdge Reference Architecture. Discover best practices, evolving models, and methodologies for sustainable and competitive enterprise applications.
E N D
Architecting Future Enterprise Applications with Progress Paul Petersen (paul.petersen@progress.com) Senior Product Manager and OpenEdge Evangelist OpenEdge Reference Architecture
Today’s Agenda • The Challenge • The Architecture • Future Models • A Methodology • Conclusions
Grow Profit Gain newefficiencies GrowRevenue WIN new business Business Challenges • Streamline operations • Greater visibility • Automate operations • Expose opportunities • Increase customer value • Excite prospects
Applications Application Framework ClientProcessing BusinessProcessing AnalyticalProcessing Application Management Development Tools Integration Application Server Data Management The Technology Challenge- Keeping up with Technology LinuxAIXSolarisHP/UXWindows Platforms SNMP .NET ServicesHTMLJava JMSXMLSOAPWSDLJCA SSLHTTPHTTP/SHTML XMLJava.NETSOAP OracleSQL ServerXML, ObjectstoreODBC JDBCODBCSQL92
Emerging Technologies Changing Industry Models Globalization, E-Business, Deregulation, Disintermediation, Supply Chain Integration, Economic Vulnerability Internet, Standards, Java, Integration tools, HTML, XML, SOAP, JMS, New Platforms Enterprise Architecture – System Roadmap Products & Services $ - IP Bank New IT Systems Thinking Agile and Streamlined Business Models Process People Time-to-market, Mergers & Acquisitions, New Products & Services, CRM, Business Intelligence, Business Agility, Business Process Reengineering EAI, Data Integration, J2EE, .NET, OpenEdge, Component Reuse, Web Services, Distributed Deployment, Agile Methods Operational Excellence, Continuous Improvement Meeting the Challenge –by Leveraging Change Technology Business Industry Direction, Input and Feedback Strategic Business and Partner Plans Industry Commercial Innovation Technical Innovation Enterprise Product Plans – New Technology Use
Enterprise Application Requirements 1. Compelling User Interface / ExperienceThe Application Needs to Sizzle 2. Integration EverywhereAdvanced Integration and Collaboration 3. More Agile and Easier to Customize ServiceEasier to Add New Features and Functionality 4. Distributed AccessLogic Access from All Points and Technologies 5. Scaleable “Plug and Play” Applications Grow with the Business, Standards Based 6. Simple to Deploy and Configure Minimize Administration and Setup Effort
Today’s Agenda • The Challenge • The Architecture • Future Models • A Methodology • Conclusions
What is a Reference Architecture? A Reference Architecture “describes a high level system design and guidelines for engineering …” modern, component-based enterprise applications.
We understand… One size does not fit all! What is theOpenEdge Reference Architecture? • Aguideto best practices in application development • A map for Progress products and their applicability • A method for delivering competitive advantage
Anticipate trends in technology Accommodate evolving business requirements Manage complexity Optimize planning and resources Reuse valuable intellectual property A Guide to Best Practices Good Software Architectures - Stand the Test of Time! • Provide a Solid, Modern Foundation for Competitive Business Applications
A map for Progress products and .. Evolutionary It’s always been about the Business Logic V8 was about Client/Server V9 was about n-tier scalability OpenEdge 10 is about Distributed Service Oriented Applications 1998 1999 2000 2001 2002 2003 2004
Know where you are Know where you want to go .. and their applicability Componentize Integrate Collaborate Extended Enterprise Enterprise N-TIER Application
Project Planning & Management Engagement Commitment Positioning Awareness Business Assessment Application Analysis Transformation Monitor & Review 1st Iteration 2nd Iteration Nth Iteration Capability Gap Fulfillment … A Method for Delivering Competitive Advantage
Distributed Client Architecture Evolution AppServer Business Process Business Process Business Process Technology Transformation Has driven architecture transformation Application development and application architectures have had an interesting and sometimes painful evolution Process-OrientedApplications HostCentric ClientServer • Service-Oriented Architecture (SOA) is the next-generation interoperation methodology • Technologies such as Web Services are a means to that end
Users O O I I Char/GUI F F Web Data Storage Older Applications – Host-Based, Fat Client • Multiple UIs – More Intuitive then Character • Remote Customers/Users • Logic still entangled Duplicated functionality • Integration not the focus • Network may bottleneck
O O O I I I F F F New Demands Customers Integration New Look Char/GUI Web O I S Data Storage
Centralized Business Functions Customers Users Enterprise Services Integration - Presentation - Functional - Doc / Data New Look Char Web Financials Inventory Supplier Order Mgmt Data Storage
Users Enterprise Services Separated presentationand integration layers Presentation Layer/s Integration Layer/s Common business logic withadvanced models Business Servicing Layers Data Access Layers Data accessabstracted fromstorage Managed Data Stores Unmanaged Data Stores Modern Application Architectures OpenEdge Reference Architecture – a layered view
Users Enterprise Services Presentation Layer/s Integration Layer/s Business Servicing Layers Data Access Layers Managed Data Stores Unmanaged Data Stores OpenEdge = Implementation Options 4GL, Char, GUI, HTML WebSpeed .NET, ASP JSP/Applet Other - Devices Sonic ESB I-Way Adaptors BPM Bridges – MQ-Series Sonic ESB Adaptor Web Services In/Out XML 4GL Sockets / Streams 4GL / AppServer Smart Objects OE Framework ProDataSets OS Independence Flat Files e.g. Log, Audit etc XML Server Registry Progress RDBMS Oracle, SQL Server New Data Types ObjectStore
Business Logic … they do not exist as an island. Interoperability and integrationis an inherent requirement. Integration User Interface Guiding Principles of OpenEdge … applications are a collection of software components that reflect changing business processes. … and are not bound by any one user interface technology, methodology, or platform.
Users Users Enterprise Services Enterprise Services Integration Layer Integration Layer Presentation Layer Presentation Layer Applications are a Collection of Software Components OERA – Component View Component-Based Architectures … • Handle multiple UI’s • Service Enabled • Enterprise Connectivity • Reuse Business Logic • Multiple Data Sources • Scalable Foundation Service Interface and Environment Utilities BusinessWorkflows Business Tasks BusinessEntities Data Access Services Persistent Storage Services Managed Data Store Unmanaged Data Store
Environment Interface (Services, Events, Admin) Data / Schema Data Source / Persistence Logic Components - Generic and Purposed UI Controllers UI Components Integration Controllers Persistent Storage Services Service Interface and Environment Utilities BusinessEntities BusinessWorkflows Business Tasks
Business Logic Architecture Exposed through service interfaces & standard data access Users Enterprise Services • Componentized and normalized • Business Entities structure the subjects of the application • Business Tasksstructure the actions of the application • Business Workflowsstructure the processes of the application UI Components Enterprise Service Bus UI Controllers Integration Adapters Service Interface and Environment Utilities BusinessWorkflows Business Tasks BusinessEntities Data Access Services Persistent Storage Services Managed Data Store Unmanaged Data Store
Enterprise Service Bus OE UI Components .NET UI Components Web UI Components Web UI Controllers .NET UI Controllers .NET UI Controllers Integration Adapters DataSet OrderTT Service Interface and Environment Utilities BusinessWorkflows Business Tasks BusinessEntities Data Access Services Persistent Storage Services Managed Data Store Unmanaged Data Store User Interface UI ArchitectureUser Interface Independence Users Enterprise Services The foundation can be based upon a platform that supports business processing with Open UI • ProDataSet Business Objects • ProDataSet Data Sources • Any Front End
SAP Web Service Sonic ESB EDI / Proprietary .NET UI Components IWay SAP Adapters EDI Adapters Web Service Adapters .NET UI Controllers Service Interface and Environment Utilities BusinessWorkflows Business Tasks BusinessEntities Data Access Services Persistent Storage Services Managed Data Store Unmanaged Data Store Integration Architecture Interoperability and Integration Users The Business Logic remains the same for UI and Integration requirements • Web Service Business Objects Interface • Invoke other Web Services • ESB Out of the Box
Components andProductivity Productivity: The means to solve a limited set of problems quickly in a proscribed manner. TraditionalGeneralPurposeLanguages PurposedComponent Managers TraditionalForm-BasedFrameworks Purposed ApplicationLanguage Flexibility: The means to solve almost any problem in almost any manner.
Architecture Summary • OpenEdge has... • Technology Platform • Architectural Vision to meet business and technical requirements • Has the necessary flexibility without sacrificing productivity
Agenda • The Challenge • The Architecture • Future Models • A Methodology • Conclusions
Business Process Business Process Business Process SOA - Service-Oriented Architecture Process-OrientedApplications Standards PlatformIntegration User Interface Methods Service-Oriented Architecture
Extract from “Architectures and Patterns for Software Infrastructure” Gartner Research note, 28 January 2003 “In the future, applications will increasingly be implemented by combining new developments and pre-existing systems, and by chaining business components - often referred to as "services " - that run on multiple systems. Business components will be technologically diverse and may even belong to different technology generations." Massimo Pezzini
Credit Services Supplier Service Inventory Mgmt Service Online Ordering Service Chk Credit Approve FulfillOrder Check Credit Hold Stock Valid Order? Req. Order Valid Order Notify Buyer OrderEntry Ship Notify Lookup Approve Hold Credit Bureau SOA – A Sea of Services 1. Order Entry 2. Request Supply 3. Validate Order 4. Check Credit 5. Bureau Check 6. Hold Stock 7. Approve Order 8. Fulfill Order 9. Notify of Supply 10. Notify Buyer 1 10 9 2 6 3 7,8 4 Order Mgmt Service 5
Growing Complexity of Business ExtendedEnterprise Enterprise SolutionComplexity Application Requirements
Maximizing Value to Business Intelligent Connected SolutionValue Components Reuse and Efficiency
Reference Architecture – Matrix Desired Situation Scope Componentize Integrate Collaborate GLOBAL BPM FULL SOA GLOBAL BUSINESS SERVICES Supplier of choice to Global Accounts - Transacting across Industry Supply Chains Extended Enterprise WORKFLOW FORMALISE SERVICE GROUPS Supplier of choice for Enterprise Solutions Enterprise Admin, Management and Monitoring CO-ORDINATE EXPOSE N-TIER Modern Best of Breed Business Applications Application Tool Support Processing Engines Services Platform
Clearly Define Your Goals Know where you are, and where you want to go Desired Situation Scope Componentize Integrate Collaborate Global BM3 – Model, Manage, Monitor BPM –Business Process Mgmt Full SOA - Contracts • Service Desc • Open Stds - Security etc models GLOBALISE BUSINESS SERVICES Service Enable Your App 4 Hor. & Vertical Int. Supplier of choice to Global Accounts - Transacting across Industry Supply Chains Extended Enterprise WORKFLOW Template process / work flow control with Flex rules EXPOSE Expose Process Level Business Components as Services MODULARISE Group Bus. Functions into Service Domains Supplier of choice for Enterprise Solutions Enterprise Admin, Management and Monitoring Growing Businesses with Modern, Best of Breed Business Applications CO-ORDINATE Manage Events and In-Process Flow / Thread Control FORMALISE Formalise Interface Defns / APIs N-TIER Separate BL from UI, Data Access, External Conn. Application Tool Support Processing Engines Services Platform
Extended Enterprise Level Services Desired Situation Scope Componentize Integrate Collaborate GLOBAL BPM FULL SOA GLOBAL BUSINESS SERVICES Supplier of choice to Global Accounts - Transacting across Industry Supply Chains Extended Enterprise WORKFLOW FORMALISE SERVICE GROUPS Supplier of choice for Enterprise Solutions Enterprise Admin, Management and Monitoring CO-ORDINATE EXPOSE N-TIER Modern Best of Breed Business Applications Application Tool Support Processing Engines Services Platform
AP Suppliers Planning GL Suppliers Payroll HR Suppliers Distribution CollaborativeCommerceNetworks The Extended Business Landscape Agencies E-Procurement Customers Supply Chain Self-Service Devices Distributors Collaboration CRM Offices Brokering Sales
Extended Enterprise DirectionSonic ESB Operational Awareness Business Acceleration Adapter Distributed Standards-based Connectivity SCM Integration Broker CRM Tracking Service Adapter Adapter Adapter Order Entry ERP SCM CRM Partner Finance Enterprise
Enterprise Level Services Desired Situation Scope Componentize Integrate Collaborate GLOBAL BPM FULL SOA GLOBAL BUSINESS SERVICES Supplier of choice to Global Accounts - Transacting across Industry Supply Chains Extended Enterprise WORKFLOW FORMALISE SERVICE GROUPS Supplier of choice for Enterprise Solutions Enterprise Admin, Management and Monitoring CO-ORDINATE EXPOSE N-TIER Modern Best of Breed Business Applications Application Tool Support Processing Engines Services Platform
HR / Payroll Services Accounting, Treasury, GL Portal Application/s eg Enterprise, Employee, Public/Trusted Customer, Partner CRM Management Reporting Trading, Manufacturing Inventory, Portfolio Product Information Order, Job Management Remote Employees Customers Local Employees Partner Employees Partners Customer Systems Basic Enterprise Architecture
Business Processing Trends • Generate more granular, reusable business tasks • Separate of rules for flexibility eg business/regulatory rules • Wrap business logic with several service interfaces • Generate front-side service logic to manage non-business task related issues eg Security, Transformation, Validation, Dispatch etc • Separate business flow control • Connect course-grained automated background tasks and loosely coupled process flows through an internal event bus
STOP STOP Alert Alert Enterprise Strength Services Enterprise Service Bus Embedded Event Bus
Agenda • The Challenge • The Architecture • Architecture Details • A Methodology • Conclusions
Application Level Services Desired Situation Scope Componentize Integrate Collaborate GLOBAL BPM FULL SOA GLOBAL BUSINESS SERVICES Supplier of choice to Global Accounts - Transacting across Industry Supply Chains Extended Enterprise WORKFLOW FORMALISE SERVICE GROUPS Supplier of choice for Enterprise Solutions Enterprise Admin, Management and Monitoring CO-ORDINATE EXPOSE N-TIER Modern Best of Breed Business Applications Application Tool Support Processing Engines Services Platform
Domain Nouns • Subjects Verbs • Actions Logic Processes • Services Flows • Orchestration Business Systems Thinking … Features • Visualization • Navigation • Functions • Customization • Monitors ApplicationFunctionality
The Features Presentation Adding Sizzle to your Look and Feel - • Role-Centric “Personal” Workplaces/Spaces • Flexible Navigation – Hyperlink Style • Summary Views – Dashboard • Staged Workflows over Manageable Tasks • Data Entry Performance Driven or Enquiry Oriented • Active Alerts / Notification Events • Automated Process Exceptions eg Missing Details in an Order • Business Constraints eg Near $1M Overdraft Limit • Customization eg Made-to-Order • etc
The Domain Model – Nouns BusinessEntities Users, Group Access and Config Settings Enterprise Management Eg Branches, Employees Business Environment Eg Countries, Calendar, Taxes Orders, Request Mgmt Eg Loan Applic, Job, Service Customer Information Eg Patient, History, Types Partners Eg Supplier, Distrib, Cpty Transactions, Positions Eg Inventory Products, Prices eg Stocks, Parts,Schedules Systems Integration And Data Loading Financial Information Eg GL, Bank Accts, Paymts System Support Eg Menus, Program, Auditing
The Domain Model – Verbs Business Tasks Create New Users, Groups Change Branch Address Relocate Employees Change Income Tax Rates Enter Compliance Rules Accept/Update Order, Close Down Job Maintain Customer Enquire History Cancel Purchase Order Enter Transactions, Update / Increment Position Load Products Change Prices Send Email Load Delivery Schedules Accept Payment, Create Statements Change Configuration Monitor Kill Reports
Mapping the Business Domain to the Application Nouns, Verbs,Sentences • Events and Actions • On receipt of pricechange from supplier update the product catalogue price • Notify each SalesRep of the impact on their margins for all Open Quotes • Rules • The Bank Statement: total must reconcile to the sum of the banking transactions • Exception • If there is a bank reconciliation difference then alert the nominated financial controller
Consumer Service Interface Bus. Services Data Source Simple 1:1:1 EG Code Tables 1 Consumer Type Usually None or Native API 1 Bus Entity 1 Source / Table Request Request STOP Alert Medium Few :Few:Few EG Cash Receipt Multiple Screens/ Consumer Types Optional Service Interface Simple Tasks/ Few Entities Few Tables / Data Sources XML Complex 1-N : 1-N : 1-N EG Sales Order Complex Interactions Multiple Interfaces API, Msg, Services Work Flow, Multiple Tasks, Entities, Sources n Source / Table Inside the Business Services Layer