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