White Paper TIA Architecture Overview
TIA Technology A/S Bredevej 2 DK-2830 Virum Denmark T +45 7022 7620 F +45 7022 7621 W tiatechnology.com E marketing@tia.dk Contents Introduction 3 About this Document 3 TIA Solution Architecture 4 TIA Foundation Tier 4 TIA Middleware Tier 5 TIA Consumer Tier 5 On TIA and Oracle 6 The Four TIA Sub-architectures 6 The TIA Rich User Experience 7 TIA ADF Pillars 7 TIA ADF Domains 8 TIA ADF Applications 8 TIA ADF Presentation 8 Further Reading on ADF 8 Integrating with the TIA Solution 9 TIA Web Services 9 TIA ICom 11 Further Reading on TIA Web Services and TIA ICom 12 TIA for Business Intelligence Solutions 12 Further Reading on TIA BII 12 Briefly on TIA Security 13 TIA Security Model 13 Further Reading on TIA Security 13 Page 2 of 14
Introduction About this Document This document describes from a technical angle the concepts and components that constitute the TIA Solution architecture. The paper is primarily intended for readers who aim for an overall introduction to the TIA Solution from an architectural view point. Readers who need a deeper understanding of the TIA Solution architecture should refer to the TIA Wiki or the more specialized papers delivered by TIA, such as how to extend, customize and personalize the TIA Solution. Please refer to the concluding paragraphs of all main sections within this overview paper for information on how to learn more on the topics. Page 3 of 14
TIA Solution Architecture Figure 1: The TIA Solution Architecture is a three-tier model that separates business logic from interfaces and clients or consumers. The TIA Solution is organized into a multitier architecture that allows for maximum reuse of business functionality and flexible cross-channel accessibility. By following a multitier approach the TIA architecture separates core transaction centric business functionality from user interfaces and other integration points, e.g. web services. TIA Foundation Tier is based on Oracle Database 11g and encapsulates all TIA business logic spanning policy, product, party, claims, account, life, and reinsurance. TIA Middleware Tier relies on proven components of Oracle Fusion Middleware 11g and is responsible for hosting the user interfaces based on Oracle Application Development Framework and Oracle Forms. TIA Consumer Tier contains mobile and web-based clients and other types of consumers. TIA Foundation Tier The very core of the TIA Solution lies within TIA Foundation Packages. These packages are a collection of highly reusable PL/SQL packages allowing for access to the core insurance model from either a business task oriented perspective supporting e.g. quoting or MTA, or using a more CRUD-like approach by directly addressing e.g. parties, policies or claims entities. TIA Foundation Packages are also exposed in two additional wrappings through TIA SOA Packages and TIA ADF Entities. TIA SOA Packages categorizes TIA business functionality into a layered service model in alignment with the definition created by Thomas Erl in his 2007 book SOA - Principles of Service design. These principles are widely accepted as a de facto standard for designing service-oriented software. TIA ADF Entities is an abstraction of the underlying PL/SQL foundation packages that allows for seamless integration to the Oracle Application Development Framework stack which constitutes the backbone of the TIA 7 user interface. TIA allows for bulk import or export of data using the TIA Staging Area that acts as a relay for data being transported between TIA and its surroundings. Data can be processed using Page 4 of 14
queuing mechanisms that allow asynchronous processing and volume throttling to minimize impact of external communication on the overall system performance. TIA Middleware Tier The primary responsibility of the TIA Middleware Tier is to host the TIA end-user applications and integration points. As such, the middleware tier contains no business logic and relies entirely on the functionality of the underlying foundation tier. TIA adheres to the design principle of pushing all business logic as far down the architecture stack as possible to avoid redundancy and allow for a high degree of cross-channel business functionality reuse. TIA 7 offers a completely new user interface tailored for the end-users in the back office of the insurer, e.g. the claims handlers. The TIA ADF user interface is built as a true Oracle Fusion Middleware application following best-practices within the model-view-control paradigm. The user interfaces delivers rich role based functionality for efficient human task handling within the TIA Solution and is also the main console for tailoring the TIA Solution to customer specific business processes and rules. Version 7 also includes the TIA Forms user interface. This classic TIA user interface is wellknown to existing customers and has in its present form been part of the TIA Solution since version 5. From an architectural perspective the TIA Forms revision delivered in version 7 is very similar to the previous version. Main changes have been moving forms integrated business logic into the TIA Foundation Tier for reuse in TIA ADF. For more information on the TIA Forms user interface and architecture, please refer to Oracle Forms Development Standards and Oracle Forms User Interface Standards articles in the TIA Wiki.. The TIA Middleware Tier also acts as a common integration point for providing external access to the TIA Solution. TIA Web Services delivers a WS-I compliant interface for accessing the vast functionality of the foundation tier via the TIA SOA Packages. The web service interface is designed for easy building of portals and other custom end-user applications on top of TIA. Extensions to the TIA Web Services catalogue can even easily be implemented following the design guidelines and patterns of the TIA Services Development Guide. The middleware tier also contains the TIA ICom adapter components that are used for communicating with the staging area in the foundation tier. TIA ICom Adapters leverages Oracle Adapters for easy and robust integration to a wide variety of packaged applications, legacy systems and mainframes such as SAP and CICS using numerous technologies and protocols, e.g. ftp, JMS, and AQ. TIA Consumer Tier From a TIA perspective the only TIA component in the TIA Consumer Tier is the TIA Sales App which is an ipad application for sales support built in Objective C on top of TIA Web Services. The ADF and Forms based end-user applications of the middleware tier are both accessed using standard web browser clients. Alongside web service consumers (e.g. portal solutions) these clients are considered a conceptual part of the TIA Consumer Tier since TIA delivers no components in this tier. Page 5 of 14
On TIA and Oracle For more than 20 years TIA customers have benefitted from a TIA Solution based on Oracle Database technology, and with Version 5 (released in 2005) the cooperation naturally evolved into also including the Java based Oracle Fusion Middleware platform. In Version 7 TIA again follows Oracle and market best-practices for innovative software development by leveraging further the Java EE platform investment. Oracle Application Development Foundation is the solid basis for TIA s completely revisited role based user interface delivering a customer centric, market-leading user experience. The Four TIA Sub-architectures Conceptually, the TIA Solution architecture can be perceived as four separate subarchitectures all sharing a technical platform and based on a common foundation. TIA ADF is the sub-architecture of the new Oracle Fusion Middleware-based user interface introduced with TIA 7. TIA ADF adheres to the model-view-control pattern for application design and is based on the Oracle Application Development Framework architecture. TIA Integration addresses (1) the architecture for the service model that underlies the service-oriented capabilities of the TIA Solution, i.e. TIA Web Services, and (2) the architecture designed for TIA initiated data transport for integrating TIA and the surrounding application landscape TIA ICom. TIA BII constitutes the sub-architecture of the TIA business intelligence interface which is tailored for extracting the insurance data to load into enterprise business intelligence solutions. TIA Forms is the sub-architecture for the user interface prior to Version 7. TIA Forms will not be addressed in this overview. For further reading on the subject refer to Oracle Forms Development Standards and Oracle Forms User Interface Standards articles in the TIA Wiki. Page 6 of 14
The TIA Rich User Experience Figure 2: TIA ADF is a three-layered architecture stack that separates model and viewcontrollers for structural decomposition and maximal reuse. The TIA ADF user interface is built as a true Oracle Fusion Middleware application following best-practices within the model-view-control paradigm. TIA ADF is split into a number of pillars that decomposes the application into functional areas that either encapsulates a specific business area or offers common cross-application functionality. The TIA ADF architecture is a three-layer model that allows for maximum reuse and manageability across pillars. The TIA ADF Domain layer is a pure ADF model layer offering an object presentation of the underlying TIA relational model, the TIA ADF Application layer delivers business area specific ADF sub-applications, and the TIA ADF Presentation layer assembles these sub-applications into the actual end-user application, i.e. the TIA Web App. TIA ADF Pillars The TIA ADF application is divided into business specific pillars and technical cross-application pillars. Business specific pillars exist for Account, Case, Claim, Commission, Complaint, General Ledger, Life, Party, Policy, Reinsurance, and Service Supplier. The more technical pillars Batch, Common, Data Exchange, and Data Warehouse deliver cross-application functionality. To allow for maximal reuse and manageability each pillar consists of separate domain and application modules. Page 7 of 14
TIA ADF Domains The overall purpose of the TIA ADF Domain layer is to deliver an object model representation of the TIA relational model in terms of ADF View and ADF Entity objects. The layer is built on top of the TIA ADF Entities of the TIA Foundation Tier and contains one ADF model module for each pillar. Each ADF domain model provides access to all functionality and all data fields of a specific business area. As an example the Policy ADF domain module provides access to all data fields and in the Policy area both named fields and flex fields are accessible. TIA ADF Applications The TIA ADF Application layer holds a number of sub-applications one for each business or technical pillar. Each sub-application is designed to work independently of other subapplications, but is allowed to reuse TIA ADF Domain modules from other pillars. As an example, the Account sub-application is allowed to access the TIA ADF Domain modules of both the Party and the Account areas, but it is not allowed to access the Party sub-application in the ADF Application layer. TIA ADF Presentation The TIA end-user web application TIA Web App is composed from the ADF task flows of the underlying sub-applications and a separate skinning module. Figure 3 illustrates how TIA Web App is assembled from ADF task flows from multiple sub-application pillars. Figure 3: TIa Web App is composed from the sub-applications from the TIA ADF Application layer. In the sceenshot the orange boxes highlight ADF task flows from the Case subapplication (top) and Policy (bottom). TIA delivers a separate module for customizing the skinning of the web application. Figure 3 shows the default skin delivered out-of-the-box with TIA 7. Further Reading on ADF Oracle Fusion Developer Guide: Building Rich Internet Applications with Oracle ADF Business Components and Oracle ADF Faces, by Frank Nimphius and Lynn Munsinger, 2009, Oracle Press Oracle JDeveloper 11g Handbook: A Guide to Fusion Web Development, by Duncan Mills, Peter Koletzke, and Avrom Roy-Faderman, 2009, Oracle Press Page 8 of 14
Documentation on Oracle Technology Network Integrating with the TIA Solution The TIA Solution architecture is open by design and prepared to fit into any enterprise application landscape small or large. For integration purposes the TIA architecture offers two main approaches, namely TIA Web Services which are primarily for online integration from e.g. enterprise or customer portals, and TIA ICom which is mainly designed to target import and export data initiated by the TIA Solution due to scheduled jobs or business events. TIA Web Services Figure 4: The TIA Web Service architecture is layered and spans the foundation and middleware tiers. The Tia Consumer Tier is not considered a part of the TIA WebServices architecture, but is included to illustrate potential consumers of TIA Web Services. The TIA Web Services architecture spans multiple components and layers of the TIA Foundation Tier and the TIA Middleware Tier as illustrated in Figure 4. The TIA Foundation Tier includes three types of PL/SQL service packages that expose TIA core functionality in compliance with service-oriented design principles. These service packages include no business logic as such, but merely set transaction boundaries and wrap the underlying foundation packages in business friendly ways. The TIA Middleware Tier wraps the service packages further into WS-I basic profile compliant web services, and offers a framework for declaratively adding web services policies for e.g., management, security, and addressing purposes. In the following sections the various components and layers of the web services architecture are explained starting from external service interface of the TIA Middleware Tier, and moving down the stack to the service packages of the TIA Foundation Tier. Web Service Gateway All web service messages pass through the TIA Service Gateway. The gateway intercepts and inspects all request and response messages, and makes sure to execute all necessary policy assertions. It is also the responsibility of the Web Service Gateway to restrict which services and operations to expose to consumers. Page 9 of 14
The gateway is based on Oracle Web Services Manager which is part of the Oracle Fusion Middleware Platform. Hence, all policy assertion types supported by Oracle Web Services Manager are available for configuration with TIA Web Services. TIA does not deliver a full set of policy assertions out-of-the-box, as many of these policies depend highly on customer specific company rules and regulations. Web Service Mediator The Web Service Mediator provides a flexible real-time backbone where all TIA Web Services are exposed having typed payloads using the Web Services Definition Language (WSDL). The component is based on the Oracle Mediator which is part of Oracle Fusion Middleware. At its core, the mediator is an application framework providing a distributed, heterogeneous, message oriented environment for maximal business service flexibility, reusability and overall responsiveness. On the mediator platform, a set of WS-I compliant routing web services are deployed with the purpose of receiving the actual TIA Web Service requests. The routing services perform data mapping, schema validation, etc. and finally forward requests to the Service Adapters. Service Adapters The main purpose of the Service Adapter is to transform service call XML requests into invocations of the PL/SQL based Entity Services or Task Services of the TIA Foundation Tier. From a technical angle this includes handling and maintaining JDBC connections, building Java object representations from SOAP payloads using the Java Architecture for XML Binding (JAXB), etc. Task Services Task Services all have business related functional boundaries that are directly associated with specific business tasks. Task Services relate directly to business domains, so coarse-grained Task Services exist for e.g., Policy, Claim and Account. As such, and the boundaries of these services are dictated by these domains. Task services are inherently less reusable than e.g. Entity Services as they are dependent on the specific functional domain within which they operate. On the other hand they are highly usable for customers building their own client or self-service modules as they handle real business tasks. Most Task Services are available for external consumption. Entity Services Entity Services provide an object-oriented abstraction of the TIA data model and can be characterized as CRUD (Create, Read and Update) style services. The entity services are designed for reuse and are business centric as they manipulate TIA business objects such as Company, Department, Postal codes etc. Selected Entity Services are exposed for external consumption. Utility Services Utility Services are technical services that provide highly reusable and generic functionality for e.g., user handling. Utility Services are used by Entity Services and Task Services. Page 10 of 14
TIA ICom Figure 5: The TIA ICom architecture is layered and spans the foundation and middleware tiers. The Tia Consumer Tier is not considered a part of the TIA ICom architecture, but is included to illustrate that TIA ICom is designed to integrated to external parners using a wide variety of transport protocols and exchange formats. ICom (Information Communicator) handles integration with external partners and endpoint environments. The module is highly flexible and allows configuration of many different interface types - file based, XML based and others. The module provides core functionality for sending and receiving data as well as a unified user interface for data mapping, monitoring, logging, error handling, re-processing and data life-cycle management. This document will only explain the architecture components of the core ICom functionality. Please refer to the further reading section at the end of this section for more information on the extensive user interface support for ICom. The ICom sub-architecture spans the TIA Middleware Tier and the TIA Foundation Tier. The middleware tier is responsible for connecting to the external parties, and on the backend side for transporting data in and out of the foundation tier. The foundation tier handles data transformation and hosts a relay mechanism for the exchange data, the ICom Staging Area. In the following sections the components of the TIA ICom architecture are explained. Partner Communication Layer Outbound data transport and third party connectivity is handled by Oracle JCA Adapters in the Partner Communication Layer. The layer leverages the Oracle JCA Adapter framework which includes adapters for many types of technologies, legacy applications, or packages applications. Relying on this framework, TIA is accessible to virtually any third party data provider or consumer. Backend Communication Layer The Backend Communication Layer is responsible for transporting data further down the application stack to the foundation tier, and is also based on the Oracle JCA Adapter framework. In this case the JCA adapter for Oracle Advanced Queuing is used for de-queuing Page 11 of 14
and en-queuing of data to database queues. The queuing mechanism ensures true asynchronous decoupling of the TIA Foundation Tier and third parties. ICom Composite Layer The Oracle SOA Composite Application framework of the ICom Composite Layer is the glue that binds together outward adapters and inward adapters. For every type of ICom integration an Oracle SOA Composite Application encapsulates the relevant adapters along with BPEL scripts that describe the actual data flow for that specific integration. Oracle Advanced Queuing The Oracle Advanced Queuing layer of the foundation tier hosts the actual database queues that connect upwards to the middle tier and downwards to the ICom Staging Area. ICom Staging Area The staging area is the where the ICom responsibility either ends by leaving incoming data for appropriate subsequent business event triggering, or starts by picking up data selected for third party exchange. Further Reading on TIA Web Services and TIA ICom TIA Service Catalogue ICom in the TIA Wiki TIA for Business Intelligence Solutions The TIA Business Intelligence Interface (BII) makes it easy for TIA customers and their data warehouse resources to extract relevant data from TIA to update their data warehouse in a standardized way. TIA BII includes a separate staging area and mechanisms for synchronizing this staging area with the contents of the TIA production database. TIA BII can be setup to maintain history (versions) of data when that is needed, or to maintain only the most recent records. Synchronization scheduling is flexible and allows for dependencies to the overall batch calendar, or for independent update cycles. One of the BII solutions that can be used with TIA for reporting purposes is SAS Intelligence for TIA. It links the analytical layer to your TIA Solution and draws the reports you need to estimate the operational, financial and market-related aspects of an activity. The reports are based on roles and adjusted to the needs for insight and knowledge you require as sales manager liability manager, industry holder, administrative manager, actuary, finance manager and divisional directors. Further Reading on TIA BII TIA BII in the TIA Wiki SAS4TIA Fact Sheet Page 12 of 14
Briefly on TIA Security In a production setting TIA will most often co-exist with numerous other applications and systems, and across different implementations the infrastructure and network configurations may vary enormously. This makes every TIA implementation unique, and understanding how the TIA architecture is designed to accommodate for non-functional abilities is important. In this section the overall architecture design of selected non-functional topics are explained. The intention is to provide a foundation for making the right decisions on how to make TIA fit into an existing architecture, and how to get the most value out of TIA from a technical architecture perspective. TIA Security Model The TIA Security Model is designed to guard the core functionality and data residing in the TIA Foundation Tier. The model delivers role based access control leveraging the role concept within Oracle Database. Hence, fundamental for this model is that every TIA user is represented by a separate database user. Security is integrated across channels using Oracle Fusion Middleware security concepts, so accessing TIA using the TIA ADF user interface or TIA Web Services relies on the exact same role based security model, i.e. Oracle Platform Security Services (OPSS) which is based on Java Authentication an Authorization Services (JAAS). Authentication TIA supports various patterns for user authentication to support different customer needs. The most simple authentication mechanism is to let TIA challenge users to provide username and password and then validate these against user information in the database. TIA can also support more complex authentication scenarios such as single sign-on where authentication is provided by some other part externally to TIA, e.g. by Microsoft Active Directory or some other LDAP compliant component. TIA delivers a JAAS compliant authentication provider that allows TIA to take part in a number of alternative scenarios. Please refer to the references on OPSS and JASS in the concluding paragraph of this section to learn more on the options. Authorization Every TIA interaction relies on an underlying database session in which all access to core data and functionality takes place. At logon the user is assigned his or hers designated role for that session only. During the session the assigned role is used for managing functional authorization. At log out the session ends and the role assignment no longer exists. Further Reading on TIA Security Security in the TIA Wiki Page 13 of 14
White Paper Head office Denmark TIA Technology A/S Bredevej 2 DK-2830 Virum Denmark Phone: +45 7022 7620 Fax: +45 7022 7621 TIA, the TIA Solution is a trademark of TIA Technology A/S Copyright 1986-2012 TIA Technology A/S. All copyrights, trademarks, and registered trademarks are the property of their respective owners. This document may not be reproduced or transmitted in any form or by any means, for any purpose, without prior written approval of TIA Technology A/S. The contents of this document are continually subject to amendment without prior notice. Although due care and diligence has been taken to ensure accuracy of this document, TIA Technology A/S does not undertake any liability for the accuracy of the document, including errors and omissions. tia@tia.dk www.tiatechnology.com Offices United Kingdom: +44 (0)20 3102 4355 Germany: +49 711 222 54 490 This document shall not impose any obligations on TIA Technology A/S by any means. Lithuania: + 370 5 205 2467