• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Integrating for Enterprise Support IST 421 Supplement
 

Integrating for Enterprise Support IST 421 Supplement

on

  • 471 views

 

Statistics

Views

Total Views
471
Views on SlideShare
471
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Intranet facilities – communications and computing facilities that link internal systems and support basic data transfer services Personal Computers – desktop/portable computers and workstations Messaging service – provides store-and-forward guaranteed delivery of messages System management – services to operate, maintain, and configure infrastructure and infrastructure-related services Security services - manages digital certificates and infrastructure security controls Organizational directory – defines enterprise organization, its structure, and its people Archiving – services for long-term retention of electronic business documents Metadata repository – dictionary of data, data type, and data usage specifications Knowledge management – services for the capture, retention, and retrieval of enterprise intellectual capital Portals – web servers that provide access to applications that are intended to provide information and/or conduct business with humans on the public internet Business-to-business (B2B) messaging – a web server that provides reliable store and forward messaging on the public internet using HTTP
  • Internal Systems: Intranet Facilities – network directories, communications links (various media) routers, gateways, LANs, and private links over common-carrier facilities; communications isolated from public Internet; heterogeneous; operates with TCP/IP Messaging Services – include a message broker, message transformation services, and publish/subscribe notification services. Messages communicated in a “store-and-forward” mode to provide a degree of isolation between systems for security and buffering of workload. Can restrict message routing; must deny access when subscriber not authorized. Internal Users - connected to private network (usually via LAN); primary interface is a WEB browser; also, have access to local file server. Device Servers – provide access to input/output devices Organization Directory – descries the structure of the organization, assignment of individuals to assignments, relationships among various positions, and the enterprise-level role(s) of employees and/or positions. Message Queues – provides for buffering input and output messages (i.e., messages received and messages sent) as well as a controlled access point to prevent (or, at least reduce the risk of) intrusion and input of fraudulent messages BSD Servers – servers that provide the platform to execute business applications; includes application servers, database servers, security servers, and directory servers. May include legacy, COTS, component-based and decision support applications. Local network connections among servers; communications with external world via Message Broker Services and Message Queues. Security Services – provides authentication and authorization of users, frequently via digital certificate technologies Public Systems Message Queues – provide a public facility for the sending and receiving of messages. Public Applications – provide specific functionality required for the external user including a database that replicates only relevant information from internal sources. Interaction with external applications depends only on data local to public application, minimizing the risk of corruption. Web Server – provides a common Internet Protocol address for public applications. Public Network Access HTTP Message Exchange – bridge between the internal message broker and the Internet exchange Firewall – connection for internal users to access WEB resources on the public internet. Generally, interactions through a firewall can be initiated only from the private network and communication from outside sources can only be in response to internal requests. Remote Access Server – server that controls (dial-up) access to employees.
  • Process Definition – specifies how a process is to be performed. Created offline; references people, places, and things in abstract ways to allow broader application Process Instance - specific execution of a process definition based on specific values of parameters or variables. This is a set of activities that respond to a single request, executing with in a BSD (Business System Domain) Activity – a component of a process. Requestor – source of the processing request; may be a person, a computer system, or an activity within some process Personal Work List – list of current and potential assignments reflecting the individual’s involvement is a specific business process. Resource Assignment Facility – mechanism to identify a resource to meet the needs of a process and to (perhaps) make such assignments. Process Manager – observer of a process with the ability to alter process instance(s) Process Interoperability – the interfaces among processes and activities to allow and facilitate execution.
  • Web Server – manages interactions with the user Business Document Archive – documents, including digital signatures, that represents transactions with customers having legal effect or personal responsibility; preserved for future reference Business Processes – manage the flow of work. Separated from application functionality to permit observation and maintenance of business processes Component Containers – provide the environment for application components or elements. Incorporate services to minimize complexity, including making the component transactional, resolving concurrency access conflicts, providing event management, provides persistence of the component state, and implements life-cycle operations Persistence Service – information/services about the business or state of the systems that must be preserved to survive system failure or shutdown. Includes common interface to data storage facilities (i.e., databases) for the storage of component states Organization Directory – information on people, their authorized enterprise-level roles, and relationships with the organizational structure Name Service – mechanism by which the identifier associated with a business entity in the real world can be associated with the internal reference to the component that represents that entity in the application Exception Service – service that is invoked when an error preventing further execution of the current operation is identified Security Service – supports authentication and authorization of the Web server and applications. Includes an access control list . Transaction Service – provides a transactional context for processing to control conflicting access to resources by multiple processes; basis for the commit or rollback of updates. Message Queues – provide for the exchange of asynchronous (store-and-forward) messages. Messages may be directed to/received from the same or other applications or via a publish/subscribe mode.
  • Document Management – manages files containing documents or other complex structures (product specifications, models, etc.) Business Applications – computer software systems that run the business Operational Data Store – provides access to current data about business operations Enterprise Master Database – the database of record when relatively stable data is shared across multiple sites or nodes Business Document Archives – common storage for long term retention and (occasional) retrieval of stored documents Meta Data – technical meta data (data about the data types and structures of the stored data) and business meta data (data about the source and accuracy of business data Data Warehouse – accumulation of historical data. Data is stored in the data warehouse with the expectation that it will remain unchanged once written. Data Marts – data extracted from the data warehouse to be used for analysis
  • Web Server – manages interactions with the user Business Document Archive – documents, including digital signatures, that represents transactions with customers having legal effect or personal responsibility; preserved for future reference Business Processes – manage the flow of work. Separated from application functionality to permit observation and maintenance of business processes Component Containers – provide the environment for application components or elements. Incorporate services to minimize complexity, including making the component transactional, resolving concurrency access conflicts, providing event management, provides persistence of the component state, and implements life-cycle operations Persistence Service – information/services about the business or state of the systems that must be preserved to survive system failure or shutdown. Includes common interface to data storage facilities (i.e., databases) for the storage of component states Organization Directory – information on people, their authorized enterprise-level roles, and relationships with the organizational structure Name Service – mechanism by which the identifier associated with a business entity in the real world can be associated with the internal reference to the component that represents that entity in the application Exception Service – service that is invoked when an error preventing further execution of the current operation is identified Security Service – supports authentication and authorization of the Web server and applications. Includes an access control list . Transaction Service – provides a transactional context for processing to control conflicting access to resources by multiple processes; basis for the commit or rollback of updates. Message Queues – provide for the exchange of asynchronous (store-and-forward) messages. Messages may be directed to/received from the same or other applications or via a publish/subscribe mode.
  • Web Server Provides interfaces with intranet Provides access to BSD information and services Point of authentication and authorization Application Server(s) Execute BSD business functions Workflow systems for business processes Application components Computational services Name service Exception service Security service Message queues Database server(s) Manage persistent storage Execute database management system Directory server(s) Provide rapid access to (relatively) static data Provide mechanisms for distributing updates Allows same data to be obtained from multiple sources Should implement LDAP Should be linked to corresponding infrastructure directory(ies) Organization Security Meta data
  • Destination – designates where the message is to be sent. May be a queue or a topic depending on the style of the message. Delivery Mode – indicates if the message is persistent or non-persistent . Message ID – the unique identifier for the message. Usually a string. Timestamp – the timestamp (usually date and time) that the message was sent. Correlation ID – a field set by the application containing an identifier to associate a response message with its request message. Reply-to – communicates the originator of the message when a reply is expected. Redelivered – a flag that indicates the message may have been delivered to the recipient but was never acknowledged. Type – reference to a repository definition of message type. Expiration – the GMT when the message is intended to expire. Priority – the priority or importance of the message (values from 0 to 9, with normal messages carrying priorities 0 <=4) Message Properties – optional, additional header fields that are name-value pairs for additional data about the message.

Integrating for Enterprise Support IST 421 Supplement Integrating for Enterprise Support IST 421 Supplement Presentation Transcript

  • Integrating for Enterprise Support IST 421 Supplement Fall, 2005 Ed Green Lecturer – IST The Pennsylvania State University The Abington College 215-881-7332 [email_address] www.personal.psu.edu/exg13
  • Overview and Focus
    • Assemble and integrate
      • Unified approach to contemporary integration issues
    • Discussion elements
      • Service view of architecture
      • Components and their use
        • Legacy elements
        • COTS (traditional)
        • Open Source cibsuderation
      • Messaging
      • Grid computing
      • Mobility edge
  • Some Terms in Common Use
    • Service Oriented Architecture (SOA)
    • Customer Relationship Management (CRM)
    • Enterprise Relationship Management (ERM)
    • Middleware
    • Grid Computing
    • Web Services
  • Services View of Architecture
  • A Couple of Definitions
    • Service Oriented Architecture
      • Application-based
      • Delivery of business services to users/customers
    • Services
      • Architecture-based
        • All elements of architecture
      • Engine components that produce business services
  • . . . and an analogy Service Oriented Architecture is to Services as Functional Requirements are to Technical Requirements
  • Integration Services Message Queue Adapter Message Queue Adapter Message Queue Message Queue Staging Message Queue Intranet Facilities Personal Computers Messaging Services Organization Directory Security Services System Management Knowledge Management Metadata Repository Archiving Service Enterprise Infrastructure Portals B2B Messaging Enterprise COTS Application BSD Legacy System BSD Distributed Component- based BSD Decision Support System BSD Plant Control System
  • Networking Model Private Intranet Public Internet External Users Message Queues Web Server Application(s) Business System Domain Directory Services Device Services Message Broker Services Internal Users Organization Structure Service Trader Services Firewall Employee Remote Access Enterprise Web Server Public Application(s) Message Queues Public Web Applications B2B Web Server(s) B2B Message Queues Business Partners Remote Employees Internal Systems
  • Workflow Process Model Personal Work List Resource Assignment Facilities Process Manager Requestor Process Definition Process Instance Process Instance Process Definition
  • Component-based BSD* Model Organization Directory Name Service Exception Service System Management Persistence Service Component Containers Business Processes Web Server Transaction Service Message Queues Security Service Business Document Archive Business System Domain * Business System Domain
  • Enterprise Data Storage Model Business Applications Business Document Archives Enterprise Master Database Document Management Operational Data Stores Meta Data Data Warehouse Data Marts
  • Enterprise Architecture and Integration
    • Application architectures are good
    • Stovepipes may result
      • Each application has its own architecture
      • Boolean intersection  Null Set except by accident
      • Very common in legacy application situations.
  • Business As Unusual
    • No longer exists
      • “ Business as usual” inadequate to survive in the current technology-driven business environment
      • Internet e-business no longer exists in only a technology domain
    • In 2001,
      • Gartner Group
        • “ e-commerce applications and technology elevated to a core competency”
      • Forrester – e-business market will exceed $1.3 trillion by 2005
      • IDC – enterprises will invest $10 billion by 2005 to create e-business infrastructure
  • Defining the “ Extended Enterprise”
    • Automate electronic interfaces that link the computer systems of
      • The ultimate selling businesses,
      • Partners that finance or manage the transaction
      • External suppliers, carriers, and support organizations
    • In turn these external partners connect with numerous internal systems that support
      • Customer service
      • Sales
      • Logistics
      • Manufacturing
      • Procurement
      • Accounting
      • Human resources
      • Corporate finance
  • Event-Driven Economy
    • An economy where demand realized translates into demand satisfied
      • In near-real time
    • Demand realized
      • Accomplished by extending capabilities and reach of existing IT infrastructure so that enterprise applications are bound by a business event-driven paradigm
        • Inter-enterprise
        • Intra-enterprise
  • Defining Characteristics of an Event-Driven Economy
    • Almost instantaneous
      • Definitely occurs in real time
    • ALL participating systems are able to communicate in any direction
      • With any other system
      • Automatically
      • In real time
    • Systems bound at both data and process levels
      • More than exchanging information
      • Business rules and processes shared
      • Data processed with common integrity constraints enforced
      • Common business model determine path and order of each business event
        • Spans business systems
        • Defines properties of a business event
          • Order
          • Behavior
          • Information characteristics
          • Public and private processes
      • All relevant information accessible by any other participating system
  • Component-based BSD* Model Organization Directory Name Service Exception Service System Management Persistence Service Component Containers Business Processes Web Server Transaction Service Message Queues Security Service Business Document Archive Business System Domain * Business System Domain
  • Local BSD Networking Included Servers Directory Services Web Server Database Server Application Server Application Server * Business System Domain
  • Request Broker Connectivity Security Services Organization Directory Web Server Exception Service Name Service Transaction Service Message Queues Business Processes Component Containers Persistence Service Business Document Archive Message Broker
  • Message Structure Message Header Includes destination Identifies source Identifies message (type) Message Trailer Indicates end of message Message Contents Must be defined in such a way that it is understood by BOTH sender AND receiver
  • Interface Definition Language (IDL)
    • Used to define network interfaces of network-accessible objects
      • Object method signatures
      • Attributes
    • CORBA and ISO standard
    • Defines interfaces and not implementations
      • Different object classes can implement the same interface
    • Strongly typed
      • Parameters
      • Return values
      • Attribute values
    • Basis for generating proxy objects on sending (client) server
    found in method signatures
  • Interface Definition Language (IDL)
    • Object reference – information necessary and sufficient to locate the actual object
      • Passed over the network using IIOP
      • Includes return value requirements
    • Proxy object – represents the target object
    Proxy Object Skeleton Object Target Object Object Request Broker Object Request Broker Message IIOP* * International Interface Object Protocol
  • How Data Is Processed -Schematic
    • Data has been entered onto a screen
    • ENTER, SUBMIT, etc. command has been given
    • Screen contains fixed and variable items
    • Screen also contains items that are non-visible but transmittable
    Computer Program Variable and other transmittable items sent to a computer program Data from screen Trailer (end of data) Header (identification) Data is transmitted in the form of a message Errors have been detected; user advised Database Data is stored in data base Computer Program Data is forwarded to another program for further processing Operation successful; user advised DBMS Computer program contains a “template”that identifies data as well as the rules for interpreting that data. This program: - Identifies the data - Determines presence of required data - Validates data - Determines next action SERVLET
  • Introduction to Components
  • Components
    • A component is a software entity that provides a cohesive set of functional capabilities through a specified interface
    • “Stand-alone” capability that supports one business function
    • Shareable
      • Capability can be used by many managed processes
      • Needs may be different
  • Component Granularity
    • Granularity represents a component’s capabilities
      • Size –
        • How large?
        • How many included functions
          • Coarse versus Fine Grain
      • Scope – functionality included
    • Configurability
  • Interfacing
    • Enterprise-level architecture components often too large to be viewed as single objects
      • Can be entire systems decomposable into separate functional modules
      • Systems of their own
    • Enterprise architecture components do have well specified interfaces
      • Best defined and controlled using distributed object technology
  • Reuse
    • Ability to use a software element more than once
      • ‘Create once, use often’
      • Provide a standard means for
        • Computation
        • Validation
        • Comparison
        • Presentation
  • Component Reuse
    • Reusability is an important characteristic of components
    • What is reuse?
      • A (reusable) common service that persistently maintains some data of interest to multiple applications
      • The ability to use the same module of software code in separate executing instances
  • Component Layers
    • Application-Specific Components
      • Application-unique services
    • Business Domain Components
      • Fundamental business entities and processes of the enterprise
      • Shared across applications
    • Extended Platform Components
      • ORB
      • DBMS
      • Web server
      • Application server
      • Transaction monitor
    • Platform/Network Components
      • Basic services used by applications to support business logic
    Application-Specific Components Business Domain Components Extended Platform Components Platform/Network Components
  • Dependency
    • Outgrowth of vertical partitioning of applications
    • Components lower in the architecture are independent of higher level ones
    • Key architectural consideration to ensure adaptability and modifiability
    • With proper dependency relationships
      • Upper-layer components easily modified
        • No changes to lower-layer components
      • Lower-layer components can be modified or replaced without impact to upper-layer components
        • Requires continuity of interface support
  • Dependency
    • Commercial lower-layer almost always independent of higher-level custom code
    • Dependency relationships must be considered
      • Dependencies between platform and extended platform components
      • Dependencies between business domain and application-specific components
      • Layer skipping
        • Interfacing with a component further down in the architecture
  • Defining Architectural Layers Application ; Business domain; Extended platform; Platform/network Enterprise Application ; Business domain; Extended platform; Platform/network Security Business domain; Extended platform; Platform/network Connector Application ; Business domain; Extended platform; Platform/network New technology component Application ; Platform/network Extensions to existing system Application ; Platform/network Existing system Layers Defined Architecture
  • Existing Applications as Components
    • Definition established applications as higher-level components
      • Containing lower-level elements as objects
    • Architecture must be defined at enterprise level, not at application level
    • Legacy applications have two views
      • Logical
        • Key software purposes of internal functionality
        • Software interrelationships
      • Physical
        • Software interfaces for interoperating with applications
  • Extending Applications
    • Frequently less expensive than replacement
    • Identify nature of extension
      • Additional functionality
      • Additional data
      • New processing logic
        • Data and functionality that extends capabilities
    • Architecture must detail extensions
  • Identifying Component Interface Specifications
    • Interface specifications abstract in nature at enterprise level
    • Interface specifications should state:
      • Specific functionality that can be invoked
      • Specific data supported by each function
      • Interface invocation sequence
  • Adding New Components
    • New technology components
      • Deliver new functionality and data as part of legacy application extension
    • Allocate to layers
    • Clearly identify interconnectivity between components
      • Within a layer
      • Between layers
  • Introducing Components – An Example A COTS ERM product is introduced to replace a variety of legacy management applications. However, in order to do business with the federal government DoD, billing must be sent electronically using a specified format. This format is not included in the COTS ERM; hence the legacy application must be retained and integrated. COTS ERM LEGACY REPORTER USER Event Trigger Send Bill Interface Data Request Transform Data Delivery DoD Bill Electronic
  • Summary (so far)
    • Components are key elements for enterprise application integration
    • Four discrete layers demand consistency and connectivity
    • Legacy applications will have a place in integrated application architectures for the foreseeable future
  • Component Containers
    • Makes the component transactional
    • Resolves access conflicts
    • Provides for event management
    • Sustains component-state persistence
    • Implements life-cycle operations
    • Removes or simplifies consideration of component complexities
  • Component Containers
    • Application software that provides the execution of a single business process or function
      • Inputs
      • Processes
      • Outputs
    Out In Wrapper Component Provides output to other components in a specified format Accepts input form other components in a specified format
  • Encapsulation and Abstraction
    • Descriptions of interfacing with a component
    • Applies to both in and out interfaces
    • An encapsulated interface is one where the available knowledge about a component is limited to the information contained in the interface definition
    • An abstracted interface is one where the accessibility to a component is published in the interface definition but where it is possible to acquire further knowledge about the component via other means
  • SAP Overview Operating System DBMS API and GUI BASIS SAP Functionality Application Modules and Business Processes*
    • Tools:
    • ABAP Workbench
    • Computer Center Management - Database Administration
    • Configuration Management
    • Data
    • Source Libraries
    • Data Dictionary
    • Repository
    • Temporary Data
    • Print Queues
    Database * Object based end-to-end business process Source: SAP R/3 System Administration Guide , ISBN 0-7821-2426-7
  • SAP Functional Architecture SAPGUI Database Host Application Servers Application Server External Processes API
  • data SAPGUI External Processes Business Process Application Servers SAP Tools Business Process . . . Database Host DBMS Interpretive code SAP Architecture - A Process View Data which is on the GUI API BAPI
    • Batch, including real time
    • Best of breed (legacy)
    • Other COTS/NDI
    • Transitory applications
    • Bolt-ons
    • Human Interface
    Developed “applications” - BAPI APIs - ABAP Workbench ALL else is SAP-provided WF DD DB
  • Example – Producing a Bill Question: Using what you know, and the fact that contract costs are contained in SAP module “CM”, re-draw the example below (from chart 178) to reflect utilizing SAP. COTS ERM LEGACY REPORTER USER Event Trigger Send Bill Interface Data Request Transform Data Delivery DoD Bill Electronic
  • Messaging Infrastructure
  • Messaging Infrastructure
    • Design Objectives
    • Messaging Structures
    • Messaging Format Abstractions
    • Design Considerations
    • Example
  • Messaging Infrastructure – Design Objectives
    • Store and forward
    • Message broker
    • Guaranteed delivery
    • Message sequence
    • Symbolic routing
    • Request-response
    • Event messages
    • Message transformation
    • Ad hoc destination
    • Exception resolution
    • Standards
    • File transfers
  • Message Infrastructure - Structures
    • Message queues
    • Basic messaging facilities
    • Point-to-point messages
    • Publish-and-subscribe messages
    • Message format abstractions
    • API object model
  • Messaging Infrastructure – Message Broker Concept A C D B C B D A Point-to-Point (Without Message Brokering) With Message Brokering
  • Message Structure Message Header Includes destination Identifies source Identifies message (type) Message Trailer Indicates end of message Message Contents Must be defined in such a way that it is understood by BOTH sender AND receiver
  • Messaging Infrastructure – Message Format Abstraction Destination Delivery Mode Message ID Timestamp Correlation ID Reply To Redelivered Type Expiration Priority Message Properties
  • Messaging Infrastructure – Design Considerations
    • Product interoperability
    • Transformation service
    • File transfers
    • B2B messaging
    • Security
    • Scalability
    • Application execution
    • Exception handling
  • Messaging Infrastructure Example
    • Using everything to this point, let’s consider the process with ordering something from a supplier.
    • Recall from IST 331, we discussed the process for creating a purchase order
    • Now, let’s look at the e-business aspects
  • Traditional IT Framework Interface to Applications . . . . . . Clients Independent Applications
    • Developed independently, frequently in a vacuum in the absence of standards
  • Enterprise IT Framework Application Integrator . . . . . . User Interface Security Clients Independent Applications Software that provides “common view” capability
    • Authentication
    • Authorization
    WEB Browser
    • Finance
    • Manufacturing
    • Sales/Marketing
    • Personnel
    • Engineering
  • e-World Concept of Operations
    • e-Process begins with a buyer and a seller
      • Goods/services wanted and available
    • GLOBAL EXCHANGE facilitates the electronic transaction
    • Seller’s catalog reviewed by buyer
      • Needed items available
    • Purchase order prepared and transmitted to global exchange
    • Global exchange routes to seller
    • Order entry prepared
    • Production schedule established or updated
    • Inventory checked; replenishment ordered
    • Manufacturing resources assigned
    • Labor availability checked
      • Resources assigned OR HR to staff prepared
    • Sub-assemblies and other resources reserved
    • Production package prepared
      • Bill of materials
      • Manufacturing/assembly instructions
      • Drawings/blueprints
  • e-World Concept of Operations (continued)
    • Production process is monitored
    • Labor time & attendance is recorded
    • Test results and quality analysis recorded
    • Shipping is scheduled
    • Customer Service is advised
    • Billing is notified
      • Customer billing is prepared
    • Order is shipped
    • Order is received
    • Receiving inspection conducted; test results recorded
    • Bill is received
    • Payment is made
    • Questions arise
    • Supplier customer service is contacted
      • Call is recorded
      • Question is researched in the product reference materials
      • Answer is provided
  • Trading Partner Challenge Application Integrator . . . . . . User Interface Security Application Integrator . . . . . . User Interface Security Application Integrator . . . . . . User Interface Security Application Integrator . . . . . . User Interface Security Application Integrator . . . . . . User Interface Security
  • Messaging
    • What are the messages?
    • What do each of the messages contain?
    • What are the implications?
  • Persistent Services
    • Object Mapping
    • Database Operations
      • Create
      • Delete
      • Update
    • Queries
    • Connection Management
  • Security Service
    • Supports authentication and authorization within BSD
    • Determines identity of user from
      • Digital certificates
      • Userid and password
    • May be implemented in
      • Web server
      • Application server
      • Both
    • Best outside of application server
      • Reduces complexity
    • SSL protocol ensures integrity and confidentiality of data transmitted on network
  • Security Service Web Server Document Archive Application Server(s) Security Service Message Queue Organization Service Messaging Service Web Browser HTTPS SSL
  • Transaction Services
    • Serialization
    • Deadlocks
    • Concurrency services
    • Locking services
    • Transactional context
    • Callback
    • Transaction control services
    • Phased commits
    • Recovery
    • Nested transactions
  • Example – The Systems Integration Challenge Aerospace Global Trading Exchange Boeing BAE Lockheed Martin Raytheon Supplier Community Opportunity: significant savings through economies of scale Problem: everyone “does their own thing” Challenge: find the common ground
  • What is B2B Application Integration
    • Controlled sharing of data and business processes
    • Leveraged assets
      • All existing systems
      • Bound within or between enterprises
      • Support any and all business requirements
    • Access to perfect information on demand to outside trading partners
      • Enables instant reaction to a business event
    But, remember that a business transaction takes at least as long as the slowest system in the loop
  • Issues – Leveraging Assets
    • Ancient technology critical to workings of enterprise
      • Hard to impossible to adapt
      • Communications and sharing difficult (at best)
    • Package applications
      • Natural stovepipes
      • Clearly compound the problem
  • Applying Technology
    • Traditional middleware
      • Built to integrate applications within an enterprise
      • Fails to account for B2B special needs
    • Point-to-point solutions
      • Remote procedure calls
      • Message queues
    • Significant alterations to both source and target system are required
    May work within an enterprise; Out of control across enterprises
  • Traditional Middleware Application Green MD TCT EH PSR TXT FMT TSK QM DBBMS WFM MDM BUF DBMS Application Orange DBMS Application Red DBMS Application Green DBMS API Abbreviations API – Application Interface TCT – Task Control Table EH – Error Handler PSR – Parser TXT – Transaction Control Table FMT – Response Formatter TSK – Task Manager QM – Queue Manager WFM – Workflow Manager MDM – Metadata Manager BUF – Buffer Pool MD – Metadata Data Base Stovepipe business applications. Databases are application-centric and DBMS’s are not necessarily the same Interactive human users
  • B2B Application Integration
    • Focuses on integration of both business-level processes and data between organizations
    • Includes notion of reuse in addition to distribution of business processes and data across linked enterprises
    • Application-to-application concept
      • Near real time
      • Back end
      • Minimal user interaction
    • Enables users with limited detail understanding of applications to integrate them
    • Incorporates notion of common agreements between trading organizations; support those agreements through information exchanges
    • Assumes most source and target systems cannot be altered and points of integration must be non-intrusive
    • Takes into account differences between integrating applications within and between enterprises; supports a single process model that spans both
    • Takes advantage of advanced security standards to protect information moving between companies
  • EAI versus B2B
    • EAI – typically deals with the integration of applications and data within an enterprise to solve a local problem
    • B2B Application Integration deals with the integration of applications between organizations to solve any business problem
  • EAI versus B2B
  • Middleware and B2B Application Integration
    • Middleware is a simple mechanism
      • Accessible way to integrate external resources using a common set of application services to move information and shared business logic between applications
      • Hides complexities of underlying operating system and network
        • Facilitates integration of various enterprise systems
        • API’s –general purpose data movement or process invocation mechanisms acting on behalf of an application
      • Provides a means to connect distributed computing elements
        • Clients to servers
        • Clients to clients
        • Servers to servers
  • Retooling Middleware for B2B
    • Support inter- and intra-process integration
    • Support for B2B standards
      • RosettaNet
      • ebXML
      • EDI
    • Support for Internet-enabled information exchange
    • Support for advanced security models
  • Approaching e-Business
    • Business rules integration
    • Information integration
    • Process integration
    • Collaboration
  • Business Rules Integration
    • Binding of application logic between two or more business partners
      • Composite applications accessible to all parties
      • Exchange of information and business rules fully automated
    • CORBA standard implementation mechanisms
  • Information Integration
    • Platform for exchanging relevant data in order to support e-Business initiatives
      • Functions below Business Rules Integration
    • Requires few changes to participating systems
      • Relatively inexpensive
    • Utilizes message brokers, data replication engines, and data migration engines
    • XML provides common information exchange format for incompatible applications and data sources
  • Process Integration
    • Set of processes that function above both business rules and information integration
    • Process model resides on top of middleware
      • Provides logical and physical information flows over existing business systems
      • Abstract business layer
  • Process Integration
  • Collaboration
    • Providing geographically dispersed workgroup with opportunity to share information in real time to support a business need
    • Greatest strength – supporting virtual communities of participating humans and computers
      • “Information Anywhere” concept
    • Centralized set of middleware to manage information
  • Collaboration
    • CRM
    • Product Development
    • Logistics
    • Knowledge Management
  • Types of B2B Application Integration
    • Data-oriented
    • Application interface-oriented
    • Method-oriented
    • Portal-oriented
    • Method-oriented
    • Process integration-oriented
  • Data Oriented Application Integration
    • Simple process
      • Information extraction from one database
      • Processing as required
      • Updating in one or more databases as required
    • Advantage – cost
      • Mostly leaving application code unchanged
  • Application Interface-Oriented Application Integration
    • Leveraging of interfaces exposed by custom or packaged applications
      • Access both business processes and simple information
      • Bundle any number of applications to share business logic and information
      • Limitations
        • Specific features and functions of the application interfaces
  • Method-Oriented
    • Sharing of business logic that exists within the enterprise
    • Numerous mechanisms
      • Distributed objects
      • Application servers
      • Transaction processing monitors
      • Frameworks
      • New applications
    • Two approaches
      • Create shared set of application servers on shared physical platform
      • Share already existing methods using distributed method-sharing technology
  • Portal-Oriented
    • Expanding paradigm due to increasing popularity and utility of web
    • Shared access to information through a common utility interface
  • Process Integration-Oriented
    • Abstract business-oriented layer on top of traditional B2B information movement techniques and mechanisms
    • Provides business-oriented, process-automation view of business information flow between trading partners
    • Deals with abstract and shared processes
      • People
      • Invoices
      • Orders
      • Companies
      • Merchandise
    • Does not deal with physical integration flows or physical systems
  • Dimensions of B2B Application Integration Method Application Interface Data Process Integration Portal Interaction Points of Integration
  • Data-oriented B2B Application Integration
    • Issues
    • Coupling versus cohesion
    • XML (Extended Markup Language)
    • Example
    • Database to database B2B application integration
    • Federated databases in B2B application integration
    • Consideration of data sources
  • Issues
    • Entry point for B2B application integration
    • Allows for data to be moved between data stores
    • Numerous tools exist
    • Few significant change to application logic or database structure
    • Understanding does not make this easy
      • Complexity of database world
      • Information flow through an enterprise
        • How the data is used
  • Coupling versus Cohesion
    • Coupling
      • Creates one application and database out of many with tight dependencies
    • Cohesion
      • Logical agreement among independent applications and databases
      • Greatest flexibility
        • Systems can be added/changed/removed without requiring significant changes to other systems in the problem domain
      • Message brokers provide infrastructure
        • Resolve differences in application semantics within a middle tier process
    Cohesion generally more optimal than coupling
  • Grid Computing Tutorial
  • Grid Technology Abstract
    • Emerging new field
      • Beyond distributed computing
      • Focus
        • Large-scale resource sharing applications
        • High-performance orientation
      • Requires
        • Flexible, secure, coordinated resource sharing
        • Involves dynamic collection of
          • Individuals
          • Institutions
          • Resources
      • Characterized by unique authentication, authorization, resource access, and resource discovery
    The virtual organization
  • Introduction and Background
    • Term “grid” originated – mid 1990’s
      • Proposed infrastructure for science and engineering
      • Expanded to include broadest technology spectrum
        • From advanced networking
        • To artificial intelligence
        • And everything in between
    • Addresses real and specific problem space
    • Distinct and separate from popular technology trends
      • Internet
      • Enterprise computing
      • Distributed computing
      • Peer-to-peer computing
    • Symbiotic opportunities when popular technologies “grow into” the grid problem space
  • Grid Problem Space
    • Coordinated resource sharing and problem solving in dynamic, multi-institutional, virtual organizations
    • Essential needs
      • Highly flexible sharing relationships ranging
        • From client-server
        • To peer-to-peer
      • Sophisticated and precise levels of control over use of shared resources
        • Fine-grained and multi-stakeholder
          • Access control
          • Delegation
          • Application of local and global policies
        • Sharing of resources
          • From programs, files, and data
          • To computers, sensors, and networks
        • Diverse usage modes
          • From single-user to multi-user
          • From performance sensitive to cost-sensitive
            • Quality of service
            • Scheduling
            • Co-allocation
            • Accounting
    Not addressed by current generation of distributed computing technologies
  • What Grid Technology Offers
    • Security solutions that support management credentials and policies across multiple enterprises
    • Resource management services and protocols to support
      • Secure remote access to computing and data resources
      • Co-allocation of multiple resources
    • Information query protocols and services that provide configuration and status information about
      • Resources
      • Organizations
      • Services
    • Data management services that locate and transport datasets between storage systems and applications
    Compliment existing distributed computing technologies rather than competing with them!
  • Grid Technology Placement – a Perspective
    • Virtual organizations
      • Set of collaborating enterprises
        • Viewed as a single logical entity
      • Leverage collaborator
        • Processes
        • Policies
        • Systems
        • Resources
    • Single-enterprise viewpoint ( s )
      • Collaboration among diverse business units
        • Merger/acquisition/divestiture ramifications
      • Cooperative processing among less-than-compatible systems
    • Multi-enterprise viewpoint ( m )
      • Collaboration among diverse enterprises
      • m=s n where n is the number of enterprises
    • Global considerations
  • Virtual Organizations
    • Collaboration to achieve a common goal
    • An enterprise can participate in multiple virtual organizations
      • Domain-relevant
        • Market-centric
        • Industry-oriented
      • Problem-centric
        • Opportunity-centric
        • Economics-driven
      • Dynamic over time
    • Resource sharing is managed
      • “ Need to know” accessibility
      • Conditional availability – who, what, when, how
      • Discovery mechanism required to characterize the state of relationships at some particular point in time
      • Peer-to-peer considerations
        • Providers and consumers
        • Subset relationships
      • Single resource, multiple sharing opportunities
    Common Interest
  • Concept of Grid Architecture
    • Grid architectures require establishment of sharing relationships among potential participants
      • Central issue  interoperability  protocols
    • Grid architecture is a protocol architecture
      • Mechanisms for users and resources to negotiate, establish, manage, and exploit sharing relationships
    • Standards-based open architecture
      • Facilitates extensibility, interoperability, portability, and code sharing
      • Standard protocols enable definition of standard services that provide enhanced capabilities
      • Application Programming Interfaces (API)
      • Software Development Kits (SDK)
  • Importance of Interoperability
    • Need to initiate sharing relationships among arbitrary partners
    • Need to accommodate new partners dynamically across different computing environments
      • Hardware
      • Software
    • Need to promote multilateral sharing arrangements
      • Avoid bilateral resource sharing
      • Ensure availability of sharing mechanisms in a dynamic partnership environment
  • Importance of Protocols
    • Protocol definition specifies
      • How distributed system elements interact with each other to achieve a specified behavior
      • Structure of information during interaction
    • Virtual organizations compliment existing enterprises/institutions
      • Sharing mechanisms must avoid substantial changes to local policies
      • Sharing must preserve individual (institution) control of (their) resources
    • Protocols
      • Govern the interaction between components
      • Do not govern implementation of components
    • Without standard protocols, interoperability requires
      • Single implementation at the API level or
      • Having every implementation know details of every other
  • Grid Architecture Description Application Collective Resource Connectivity Fabric Grid Protocol Architecture Application Transport Internet Link Internet Protocol Architecture A relationship exists between the Grid Protocol Architecture and the Internet Protocol Architecture.
  • Fabric Layer – Local Control Interface
    • Provides resources to mediate shared access to system facilities by Grid protocols
      • Physical system facilities require external protocols – computational components, storage systems, catalogs, network and/or sensors
      • Logical system facilities require internal protocols – distributed file system, computer cluster, and/or distributed computer cluster
    • Implements local, resource-specific operations on specific (logical or physical) resources as the result of higher-level sharing operations
    • Interdependence between fabric-layer functions and sharing operations
      • Tightly coupled
  • Delivering Functionality
    • Can be combined in a variety of ways to deliver functionality to applications
    Application Co-reservation Service API & SDK Co-reservation Service Co-Allocation API & SDK Resource Mgmt API & SDK Network Resource Network Resource Compute Resource Compute Resource Co-reservation Protocol Resource Management Protocol Collective Layer Resource Layer Fabric Layer
  • Fabric Layer – Local Control Interface
    • Minimum implementation
      • Enquiry mechanisms that permit discovery of resource structure, state, capabilities
      • Resource management mechanism that provide control of delivered quality of service
    • Capabilities
      • Computational resources – starting, monitoring, and controlling the execution of programs
      • Storage resources – getting and putting of files
      • Network resources – managing network transfers
      • Code repositories – managing versioned source and object code
      • Catalogs – implementing catalog query and update capabilities
  • Connectivity – Communication and Authentication Protocols
    • Communication protocols – enable exchange of data between Fabric Layer resources
    • Communications includes
      • Transport
      • Routing
      • Naming
    • Authentication protocols
      • Build on communications services
      • Provide cryptographically secure mechanisms for identity verification
        • Users
        • Resources
    • Security aspects – standards based
  • Authentication Solutions for VO Environments
    • Single sign on – one-time authentication provides access to allowed Grid resources
    • Delegation – ability to endow a program to execute on the named user’s behalf
    • Interoperate with local security solutions
    • User-based trust relationships
  • Resources Layer – Sharing Single Resources
    • Defines protocols, API’s, and SDK’s for
      • Secure negotiation
      • Initiation
      • Monitoring
      • Control
      • Accounting
      • Payment processing
    • Call Fabric Layer functions to access and control local resources
    • Concerned entirely with individual resources
    • Primary protocols
      • Information protocols – obtain information about state and/or structure of resources
      • Management protocols – negotiate access to a shared resource
    Operations
  • Collective Layer – Coordinating Multiple Resources
    • Protocols, API’s, and SDK’s
      • Not associated with any one particular resource
      • Global in nature
      • Capture interactions across collections of resources
  • Collective Layer Services
    • Directory services – discover existence and/or properties of VO resources
    • Co-allocation, scheduling, and brokering services –
      • Allow VO participants to request allocation of one or more resources
      • Allow VO participants to schedule tasks on appropriate resources
    • Monitoring and diagnostics services – monitor VO resources for failure, adversarial attack, or overload
    • Data replication services – support placement of data to maximize data access performance with respect to metrics such as response time, reliability, and cost
    • Grid-enabled programming services – allow use of familiar programming models to be used in Grid environments to address resource discover, security, and resource allocation
  • Collective Layer Services
    • Workload management systems and collaboration frameworks –
      • aka problem solving environments
      • Provide for description, use, and management of multi-step, asynchronous, multi-component workflows
    • Software discovery services – discover and select most appropriate implementation and execution platform based on parameters of problem being solved
    • Community authorization services – enforce community policies governing resource access, to generate access capabilities to community resources
    • Community accounting and payment services – gather resource usage information for accounting, payment, and/or resource usage management
    • Collaboratory services – supports information exchange among users
  • Applications
    • Utilize services defined at any of the other layers
      • Construction
      • Utilization
    • Implemented using SDK’s
      • Exchange protocol messages with appropriate services to perform desired actions
    • Utilize
      • Frameworks
      • Libraries
    = Φ (well-defined protocols)
  • Applications Collective API’s & SDK’s Collective Services Connectivity API’s Resource API’s & SDK’s Resource Services Fabric Key API/SDK Service Collective Service Protocols Resource Service Protocols Connectivity Protocols Language & Framework Applications
  • Bilateral Relationships
  • Multilateral Relationships Grid
  • Grid Architecture Services Storage systems, computers, networks, code repositories, catalogs Fabric Communications, service discovery, authentication, authorization, discovery Connectivity Access to computation, access to data, access to information about system structure, state, performance Resource Resource discovery, resource brokering, system monitoring, community authorization, certificate revocation Collective (generic) Check-pointing, job management, failover, staging Solver coupler, distributed data archiver Collective (application-specific) Application 2 Application 1
  • An e-Business Process Flow Purchase Order/Order Entry Between Customer and Supplier
  • In the beginning . . . Inventory Management Process Inventory Database Prepare Purchase Order Recognizes EOQ/JIT level Supplier Catalog Purchase Order Message sent for review/approval Review Purchase Order Purchase Order reviewed, approved, and submitted to supplier Security Check
    • Authorized submitter
    • Authorized named personnel
    • Authorized supplier
    Header shows destination as reviewer Header shows destination as supplier To Supplier Purchase Order DB Purchase Order Message Purchase Order Message Firewall Destination Delivery Mode Message ID Timestamp Correlation ID Reply To Redelivered Type Expiration Priority
  • Next, . . . From Purchaser Security Check
    • Authorized submitter
    • Authorized named personnel
    • Authorized trading partner
    • Authorized recipient
    Order Entry System Inventory Database Manufacture Database Purchase Order System Fulfillment System If in inventory, message Sent to fulfillment system Manufacturing System Inventory Database Manufacturing Message Purchase Order Message If not in inventory, message Sent to manufacturing system Manufacturing system uses data in inventory and manufacturing databases If raw materials required, purchase order message is sent When order has been completed, a message is sent to the fulfillment system Order Receipt Message Acknowledgement message sent Purchase Order Message Purchase order is admitted through firewall and passed to order entry system Orders Database Firewall Fulfillment Message Fulfillment Message
  • Continuing, . . . Security Check
    • Authorized submitter
    • Authorized named personnel
    • Authorized trading partner
    • Authorized recipient
    Security Check
    • Authorized submitter
    • Authorized named personnel
    • Authorized supplier
    Purchase Order Management Message is transmitted Validated message sent to Purchase Order Management System Purchase Order DB Messages sent to named stakeholders Firewall Order Receipt Message Firewall Order Receipt Message Stakeholder Status Message
  • Meanwhile, . . . Fulfillment System Shipping System Billing System Inventory System Inventory Database Fulfillment System sends messages to Shipping and Billing Systems Billing System prepares and sends bill Billing System prepares and sends bill Fulfillment System Shipping System Billing System Inventory System Inventory Database Fulfillment System sends messages to Shipping and Billing Systems Billing System prepares and sends bill Security Check
    • Authorized submitter
    • Authorized named personnel
    • Authorized trading partner
    • Authorized recipient
    Billing Database To Purchaser Fulfillment Message Fulfillment Message Billing Message Fulfillment Message Firewall Fulfillment Message Shipping Notice Message Fulfillment Message Fulfillment Message Billing Message Fulfillment Message Fulfillment Message Shipping Notice Message
  • And, . . . Security Check Accounts Payable Electronic Payment General Ledger DB Purchase Order DB Receiving System Purchase Order DB Billing message is sent to Accounts Payable
    • Authorized submitter
    • Authorized named personnel
    • Authorized supplier
    • Authorized submitter
    • Authorized named personnel
    • Authorized supplier
    Security Check Shipping Notice message is sent to Accounts Payable Receipt message is sent to Accounts Payable Electronic Payment is sent to supplier From Supplier To Supplier Firewall Billing Message Shipping Notice Message Firewall Receipt Message
  • Finally Security Check
    • Authorized submitter
    • Authorized named personnel
    • Authorized supplier
    Electronic Payment Payments Payment Processing General Ledger Orders Database Billing Database Payment is processed From Purchaser Firewall
  • Considering the State of the Practice
    • Service-Oriented Enterprise
    • Integration Landscape
    • Open Source Integration Considerations
    • Mobility
  • Service-Oriented Enterprise (SOE)
    • Architectural strategy to improve the integration of processes and data within an operational enterprise
      • Enterprise definition separate and distinct from the set of systems that comprise it (the enterprise)
      • Enterprise is not a single, massively large system
      • Optimized enterprise integration strategy is not (necessarily) congruent with a “system of systems” strategy
    • Objective – service excellence for users and/or customers
    • Operational enterprise – the set of individual organizations that collaborate to conduct business
  • Structural Elements of SOE
    • Smart Data
    • Smart Grid
    • Smart Services
  • Structural Elements of SOE – Smart Data
    • Data equipped with semantic content using metadata
      • Characterization
      • Model-based representation via defined process
    • Smartness – measurable quantity
      • Rigor
      • Precision
      • Accuracy
      • Structure
      • Abstraction
  • Structural Elements of SOE – Smart Grid
    • Interface-driven interconnection across the enterprise
      • Physical structure
      • Protocol routines
    • Corresponds to SOA implemented using shared-language paradigms
      • Technology-neutral
      • Defined independently
    • Smart grid characteristics
      • Shared interconnection network architectures; common entry and messaging methods
      • Message management capability to insure reliable data delivery and appropriate statusing (success and failure)
      • Information assurance controls to prevent corruption of enterprise communication process
        • Intentional
        • Unintentional
      • Adequate resources to support interconnectivity requirements
  • Structural Elements of SOE – Smart Services
    • Synonymous with semantic services
      • Shared resources
      • Configured as Web Services
      • Assets available to the enterprise regardless of physical ownership
    • Enterprise Global Repository
      • Structured resource that provides access to
        • Metadata
        • Process and data models
        • Metamodels
        • Process and data constructs
      • Build-time resource
        • Supports integrate-ability
      • Run-time resource
        • Supports active data translations across systems
  • SOE Disciplines
    • Data Engineering – developing and documenting semantic content for enterprise data throughout the enterprise lifecycle
    • Grid Engineering – developing and evolving the smart grid architecture
      • Selection of integration tools, processes and standard protocols
      • Establishes rules of engagement for application and system participation
      • Prescribes methods for integrating legacy systems and applications
    • Process Engineering – designing and documenting enterprise processes
      • Enables process improvement
      • Develops rules for process interaction and associated enforcement
        • Includes associated elements of data
  • Enterprise Engineering Data Engineering Unmanaged, ad hoc Formalized Information Modeling Systematic Data Definitions Metadata-driven information integration Grid Engineering Unmanaged, ad hoc Encapsulation/object oriented Capture of Business Intelligence Externalization of Business Intelligence Unmanaged, ad hoc Business Rule Standardization Process Modeling Outcome-driven processes Process Engineering
  • Integration Platforms - SOA
    • Integration Requirements
      • Composite applications
      • Real-time business intelligence and analysis
      • Internal collaboration
      • External collaboration
    • SOA Provides
      • Message bus and application integration as core features
      • Integrated process management capability
      • Presentation and other interaction features
      • Industry protocols and collaboration formats
      • Life-cycle management facilities
  • Integration Platforms - SOA
    • Available from vendors by class
      • Application
      • Enterprise application
      • Independent integration
      • Data integration
    • Key factors for determining the most appropriate platform
      • Separate application integration from data integration
      • Consider the context – application, enterprise, or data
      • Align architecture at the optimum level – product, vendor, standards, technology
      • Level of convergence
  • Open Source Integration
    • Alternative way of building an infrastructure using best-of breed components
    • Complexity factors
      • Global sourcing
      • Independent release schedules
      • Frequent release schedules
    • Benefits
      • Reduced cost and effort for installation and configuration
      • Increased confidence in reliability and stability
      • Improved ability to troubleshoot applications
      • Easier infrastructure management
      • Infinite combination of components
      • Multiple component use
      • Different service models
      • Enhanced value add
  • Open Source Integration
    • Key elements for success
      • Common management tools
      • Common security model
      • Consistent and coordinated maintenance
      • Component compatibility
      • Consistent licensing model for utilized components
  • Mobility
    • Ability of an individual to work anywhere at any time utilizing all of the features and capabilities of the system environment
    • Includes
      • Computing
      • Communications
    • Benefits
      • Availability
      • Productivity
      • Cost savings
      • Cost avoidance
  • Historic Mobility
    • Linked to
      • Portable computing
      • Wireless telephony
    • Based upon “fixed port” accessing
      • Required physical connectivity
  • New Mobility
    • Outgrowths of wired technology
    • Transcends enterprise network perimeter
      • Wherever the user needs information
      • Voice and data
    • Key benefits
      • Freedom of access to information
      • Identity-based security
      • Network economics
  • Capabilities for New Mobility
    • Identity-based security to protect both network and user
    • Non-disruptive integration into existing networks
    • Secure convergence for mobile VoIP and data services
    • Adaptive radio management for self-configuring WLANs
    • Remote extensions for instant enterprise hot spots
    • Enterprise-grade scalability, reliability, and performance
    • Open mobility platform for application development and integration
  • Problem Scenario
    • Purchasing Collaborative As the result of a professional society survey initiative, a number of enterprises in some particular industry determine that they purchase similar items from a common set of suppliers. Upon reviewing the supplier’s terms and conditions, a cost saving benefit is recognized if the several industry enterprises can engage in a common procurement activity. From the enterprise perspective, there would be common pricing based on shared catalogs price with advantages for larger orders. From the supplier perspective, there would be fewer purchase orders to handle, thereby reducing labor-intensive activities and associated operating costs. Initial discussions with the supplier community are encouraging; the problem is that every participant has an individual information processing environment that offers minimal commonality.
    • Could this problem be solved using traditional computing methods?
    • What solution possibilities are offered by grid computing? SOE? Mobility?
    • Develop a schematic that illustrates a solution proposal.