Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

  • Be the first to comment

  • Be the first to like this


  1. 1. Mastering SOA Challenges more cost-effectively Bodo Bergmann Senior Software Engineer Ingres Corp.
  2. 2. Contents <ul><li>Tell me why? </li></ul><ul><ul><li>SOA </li></ul></ul><ul><ul><li>INGRES and SOA </li></ul></ul><ul><li>SOA Challenges </li></ul><ul><li>Mastering selected challenges </li></ul>
  3. 3. Service-Oriented Architecture (SOA) <ul><li>Defines the use of loosely coupled and interoperable services to support the requirements of business processes and software users. </li></ul><ul><li>Services can be accessed without knowledge of underlying platform implementation. </li></ul><ul><li>Not tied to a specific technology. </li></ul><ul><li>Applications (and other services) are built by combining available services. * based on definition in: (23-Feb-2007) </li></ul>Definition*:
  4. 4. SOA – An Example Applications Business Services Legacy Assets Web Clients Mobile Devices Infrastructure Services Data Data Access Services
  5. 5. Why SOA ? <ul><li>Link and reuse of available resources. </li></ul><ul><ul><li>Reuse of services rather than objects </li></ul></ul><ul><li>Respond more quickly and cost-effectively to changing requirements. </li></ul><ul><li>Simplify reuse of legacy assets </li></ul><ul><ul><li>application and data </li></ul></ul>Some objectives:
  6. 6. What has INGRES to do with SOA <ul><li>INGRES offers solutions for </li></ul><ul><ul><li>Data Management </li></ul></ul><ul><ul><li>Data Integration </li></ul></ul><ul><ul><li>Development and Deployment of </li></ul></ul><ul><ul><ul><li>Services </li></ul></ul></ul><ul><ul><ul><li>Clients (Applications, Web, Mobile Devices) </li></ul></ul></ul><ul><li>Solutions can easily be integrated into existing SOA infrastructure </li></ul><ul><li>Ingres is Business OpenSource vendor </li></ul><ul><ul><li>Enterprise-class solutions with minimized TCO </li></ul></ul>
  7. 7. SOA – Challenges (a selection) Security Managing Service Metadata Interoperability Performance “ Entity aggregation ” SLAs Failover OLTP vs. BI/Reporting Understanding business requirements Experienced teams Service implementation and modification Load balancing Access to globally distributed services and data Service Monitoring Deployment 24x7 operation Event-Driven Architecture (asynchronous Service usage) Master data management Redundant data synchronization Legacy & Mainframe integration Platform independence Sponsorship Organization structure ... Service clients for different platforms/devices
  8. 8. Mastering selected challenges <ul><li>Redundant data synchronization </li></ul><ul><li>Entity aggregation service </li></ul><ul><li>Unified access to different data sources </li></ul><ul><li>Legacy & Mainframe integration </li></ul><ul><li>Cost-effective service development </li></ul><ul><li>Event-Driven Architecture </li></ul><ul><li>Clients for different platforms/devices </li></ul>
  9. 9. Challenge Redundant data synchronization <ul><li>Services use redundant data for different reasons </li></ul><ul><ul><li>Performance </li></ul></ul><ul><ul><li>Replicated services for </li></ul></ul><ul><ul><ul><li>Load Balancing </li></ul></ul></ul><ul><ul><ul><li>Failover </li></ul></ul></ul><ul><ul><li>Reduce service dependencies </li></ul></ul><ul><ul><li>... </li></ul></ul><ul><li>Redundant data have to be synchronized </li></ul>
  10. 10. Possible solution <ul><li>Use DBMS that provides data replication </li></ul>Service Service
  11. 11. Challenge Entity aggregation service <ul><li>Aggregates entities in different systems </li></ul><ul><ul><li>Provides single view of entities by integrating information from different systems </li></ul></ul><ul><ul><ul><li>e.g. combines Customer data from ERP and CRM systems </li></ul></ul></ul><ul><ul><li>Integrates horizontal partitions </li></ul></ul><ul><ul><ul><li>e.g. geographical separated data </li></ul></ul></ul><ul><ul><li>Allows cross entity queries </li></ul></ul><ul><ul><ul><li>e. g. from order management and product catalog data </li></ul></ul></ul>
  12. 12. Possible solution <ul><li>Use DBMS that provides </li></ul><ul><ul><li>Replication </li></ul></ul><ul><ul><ul><li>of horizontally partitoned data </li></ul></ul></ul><ul><ul><ul><li>of data from different systems </li></ul></ul></ul><ul><ul><li>Distributed database support </li></ul></ul><ul><ul><ul><li>Cross entity queries </li></ul></ul></ul><ul><ul><ul><ul><li>e.g. in replicated data from different systems </li></ul></ul></ul></ul>Service
  13. 13. INGRES offering: Ingres DBMS <ul><li>OpenSource DBMS for the enterprise </li></ul><ul><ul><li>Robust </li></ul></ul><ul><ul><li>Scalable </li></ul></ul><ul><ul><li>High performance and availability </li></ul></ul><ul><ul><li>Flexible backup and recovery </li></ul></ul><ul><li>Provides required features to master SOA challenges </li></ul><ul><ul><li>Uni-directional replication </li></ul></ul><ul><ul><li>Distributed database support </li></ul></ul>Service
  14. 14. Challenge Unified access to different data sources <ul><li>Services get information from different data sources </li></ul><ul><ul><li>e.g. for Data Warehousing </li></ul></ul><ul><li>Service implementation should be DBMS independent </li></ul><ul><ul><li>allow service to run with different DBMS </li></ul></ul><ul><ul><li>transparent data access required </li></ul></ul>
  15. 15. Possible Solution <ul><li>Use middleware that provides transparent data access using a single SQL dialect </li></ul>SQLServer DB2 Oracle Ingres ... RDB Single SQL Dialect Business Logic
  16. 16. INGRES offering: Enterprise Access <ul><li>Middleware solution </li></ul><ul><ul><li>Single Client Interface </li></ul></ul><ul><ul><li>Transparent SQL Access </li></ul></ul><ul><ul><li>Transactional Web Application Support </li></ul></ul><ul><ul><li>READ/WRITE Access </li></ul></ul><ul><ul><li>Protects Existing Investments </li></ul></ul>
  17. 17. Challenge Legacy & Mainframe integration <ul><li>Mainframe information needed throughout the enterprise </li></ul><ul><li>Include relational and non-relational data </li></ul><ul><ul><li>VSAM, IMS, CA-IDMS, CA-Datacom, DB/2 for z/OS </li></ul></ul><ul><li>Transparent data access required </li></ul>
  18. 18. Possible Solution <ul><li>Use middleware that provides mainframe data access </li></ul><ul><ul><li>From different platforms </li></ul></ul><ul><ul><li>Using standard connectivity drivers (JDBC, ODBC) </li></ul></ul><ul><ul><li>Supports SQL access non-relational data </li></ul></ul>
  19. 19. INGRES offering: EDBC <ul><li>Middleware solution </li></ul><ul><ul><li>Mainframe Data Access for Distributed Applications </li></ul></ul><ul><ul><li>ODBC and JDBC Drivers </li></ul></ul><ul><ul><li>Metadata Mapping for Non-Relational Data Sources </li></ul></ul>
  20. 20. Challenge Cost-effective service development <ul><li>Issues: </li></ul><ul><ul><li>Reduced implementation costs and time </li></ul></ul><ul><ul><li>Minimized modification time after change of business requirements </li></ul></ul><ul><ul><li>Minimize/reduce downtime for deployment of new or modified services </li></ul></ul><ul><ul><li>Flexible service deployment options </li></ul></ul><ul><ul><li>Time-to-market is important </li></ul></ul><ul><ul><li>Prevent technology and platform lock-in </li></ul></ul>
  21. 21. Possible solution <ul><li>Use flexible, platform-independent high-level language (e.g. 4GL) and runtime-system for implementation of services </li></ul><ul><li>Implement dynamic services </li></ul><ul><ul><li>Plug-in architecture </li></ul></ul><ul><ul><li>“ On the fly” change options </li></ul></ul>
  22. 22. Challenge Event-Driven Architecture <ul><li>Promotes loosely coupled services </li></ul><ul><ul><li>Event-driven system consists of </li></ul></ul><ul><ul><ul><li>Event consumers (subscriber) and </li></ul></ul></ul><ul><ul><ul><li>Event producers (publisher) </li></ul></ul></ul><ul><ul><ul><li>Clients and Services can be both </li></ul></ul></ul><ul><ul><ul><ul><li>Client produces event to trigger service (consumer) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Service produces event to signal service finish to client (consumer) </li></ul></ul></ul></ul><ul><li>Complements SOA </li></ul><ul><ul><li>Services can be started by events (asynchronously) in addition to synchronous execution </li></ul></ul><ul><li>Reduces service dependencies </li></ul>
  23. 23. Possible solution <ul><li>Use event-driven programming </li></ul><ul><ul><li>e.g. 4GL </li></ul></ul><ul><li>Use DBMS as event manager </li></ul><ul><ul><li>DBMS must support events/triggers </li></ul></ul>
  24. 24. Challenge Clients for different platforms/devices <ul><li>Provide service clients on a wide range of platforms without code changes </li></ul><ul><ul><li>Desktop application </li></ul></ul><ul><ul><li>Web application </li></ul></ul><ul><ul><li>Mobile Client support </li></ul></ul><ul><ul><ul><li>PDA </li></ul></ul></ul><ul><ul><ul><li>Mobile Phones </li></ul></ul></ul><ul><li>Rich-GUI elements should be supported </li></ul><ul><ul><li>HTML is not enough </li></ul></ul>
  25. 25. Possible solution <ul><li>Use platform-independent programming language (e.g. 4GL) with </li></ul><ul><ul><li>Runtime system for all client platforms and devices </li></ul></ul><ul><ul><li>Platform change/add should not require rebuild </li></ul></ul><ul><ul><li>Rich-GUI-Development environment </li></ul></ul><ul><ul><li>“ One for all” development environment </li></ul></ul><ul><ul><ul><li>Different platform should not require different IDEs or languages </li></ul></ul></ul>
  26. 26. INGRES offering: OpenROAD <ul><li>Combination of </li></ul><ul><ul><li>Highly productive GUI development environment and </li></ul></ul><ul><ul><li>High-performance, highly scalable middleware server </li></ul></ul><ul><li>Platform independence </li></ul><ul><ul><li>Clients & services binary compatible across multiple OS </li></ul></ul><ul><ul><li>Rich-GUI for web and mobile clients without code changes </li></ul></ul>
  27. 27. OpenROAD client development One Source  One Application…
  28. 28. Deployment on different platforms One Application  Many Clients
  29. 29. INGRES offering: OpenROAD (continued) <ul><li>Powerful 4GL   High productivity </li></ul><ul><ul><li>High-Level – easy to learn </li></ul></ul><ul><ul><li>Easy and quick service implementation </li></ul></ul><ul><ul><ul><li>Less code </li></ul></ul></ul><ul><ul><li>Combines SQL, object-oriented and event-driven programming </li></ul></ul><ul><ul><ul><li>Allows support of SOA and EDA </li></ul></ul></ul><ul><ul><li>Highly dynamic </li></ul></ul><ul><ul><ul><li>“ On the fly” modification of service implementation possible </li></ul></ul></ul>
  30. 30. OpenROAD Service Customizing Example Applications OpenROAD Service GetDeliveryAddress Service Implementation Web Clients Mobile Devices Service Manager Data New ChangeRequest 1. Implementation Change 2. “ On-the-fly ” Service Change 3. Modified Service execution 4. Clients get new results Demo No Service Downtime Easy 4GL Impl.
  31. 31. INGRES offering: OpenROAD (continued) <ul><li>Allows Plug-In architecture of scalable services </li></ul><ul><ul><li>Services can be deployed & run on supported platform locally and/or remotely </li></ul></ul><ul><li>Services can be used by different technologies </li></ul><ul><ul><li>JavaSE, JavaEE, .NET, DCOM, SOAP, OpenROAD </li></ul></ul><ul><ul><li>Interoperability </li></ul></ul><ul><ul><li>No technology lock-in </li></ul></ul><ul><li>Interfaces to other technologies provided </li></ul>
  32. 32. INGRES offerings fit into existing environments Clients Enterprise Data Stores Desktop Ingres/Net Ingres DBMS Web Apache Tomcat Windows IIS Middleware & Application Servers JSP, PHP, Perl, Python… OpenROAD 4GL Server OpenROAD Server Pooler Oracle SQL Server Enterprise Access DB2 UDB RDB EDBC IMS VSAM DB2 IDMS, Datacom DCOM OpenROAD 4GL Server OpenROAD 4GL Server 4GL 4GL 4GL Linux / Unix / VMS Microsoft Windows Wireless Mobile Phone WML HTTP OpenROAD Server OpenROAD eClient 4GL DCOM JNI C# API JBOSS WebLogic JSP, Java Servlets/Beans JSP, Java Servlets/Beans Windows IIS 6 ASP.NET ASP OpenROAD mClient 4GL HTTP HTTP Clients Ingres ODBC HTTP Browser HTML, VBScript … DCOM Windows/Linux/Unix Fat Clients Ingres/Net OpenROAD Client C++, VB … Java, C# 4GL ABF Client OSL Embedded C Client ESQL/C HTTP
  33. 33. Summary <ul><li>Many SOA Challenges </li></ul><ul><li>Some challenges can be addressed by modern </li></ul><ul><ul><li>DBMS </li></ul></ul><ul><ul><li>Middleware </li></ul></ul><ul><ul><li>4GL-Development Environments </li></ul></ul><ul><li>INGRES offers required technologies </li></ul><ul><ul><li>OpenSource solutions </li></ul></ul><ul><ul><li>Reduce TCO </li></ul></ul><ul><ul><li>Can easily be integrated into existing SOA environments </li></ul></ul>
  34. 34. Contact <ul><li>Ingres Corporation </li></ul><ul><li> </li></ul><ul><li> </li></ul>
  35. 35. Questions ?