1 Introduction to the Fiorano SOA Platform Agenda Fiorano parts explained Installing Fiorano...

Post on 18-Jan-2016

216 views 0 download

Transcript of 1 Introduction to the Fiorano SOA Platform Agenda Fiorano parts explained Installing Fiorano...

1

Introduction to the Fiorano SOA Platform Agenda• Fiorano parts explained

• Installing Fiorano

• Exercises

2

FioranoMQ

– Fiorano MQ server is an implementation of the Java Messaging Service (JMS) specification.

– Fiorano MQ provides messaging infrastructure for the Fiorano SOA Platform

3

The Fiorano ESB (I)• Fiorano ESB is a message-based enterprise

service bus that simplifies the integration and flexible re-use of business applications within a service-oriented architecture (SOA).

4

The Fiorano ESB (II)

Basic ESB Services

Business Components

Enhanced ESBServices

Peer-to-Peer JMS Messaging BackbonePeer-to-Peer JMS Messaging Backbone

Collaboration OtherB2BEAI

Configuration ManagementConfiguration Management

EventTracking

EventTracking

DynamicExtensibility

DynamicExtensibility

EventProcesses

EventProcesses

Real-timeMonitoringReal-time

MonitoringDynamic

DeploymentDynamic

Deployment

XML ServicesXML Services Intelligent RoutingIntelligent Routing JMSJMS Web ServicesWeb ServicesJCAJCA

5

Unifying Request/Reply and EDA

– The Fiorano ESB supports intelligently-directed communication and mediated relationships between tightly coupled (request/reply) and loosely coupled (event-flow or EDA) business components.

6

Fiorano SOA Platform Architecture

ESB ESB ServerServer

Firewall/Gateway Firewall/Gateway

Presence and Availability

Application Repository

Web ServiceRegistry

Security Controller

State Engine Configuration Manager

ComponentsComponents&Adapters&Adapters

Legacy Adapter

Oracle Apps

Adapter

Web/SOAP

Component

SAPService

Fiorano JMXBridge

DB

Adapter

Dev& Dev& Mgmt Mgmt Tools Tools

Deployment Manager HP Openview

Fiorano Studio

ESB Web Console

Event Viewer

SNMP

Peer Peer ServerServer

P2P Data Route

Events EventsJMS

Peer Server

Peer Server

Peer Server

Peer Server

JMS/HTTP(S)JMS/TCP

7

Fiorano SOA Platform Components

– Fiorano Peer Server– Fiorano ESB Server– Fiorano Service Components– Fiorano Tools Interface

8

The Fiorano Peer Server network

– The Fiorano Peer Server Network is peer to peer network of Fiorano MQ JMS message brokers.

– Key functions of a Peer Server:• Delivers incoming messages to various

components (JMS Applications).• Routes business component related control and

state information to the Enterprise Server.• Provides a store and forward capability to handle

network failures and provide for guaranteed delivery of messages.

9

Fiorano ESB Server

– Controls launch and termination of Fiorano Components as part of an event process on any Peer in the Fiorano network.

– Keeps the updated status of all Peer Servers, Business Components and Event Processes running on Peers across the network.

– Manages the re-launch of Components on a backup node, in case the primary Peer on which the Component was running goes down.

10

Fiorano Service Components

– A service component is an application that performs a specific task. Fiorano Service components are typically either the interfaces to units of enterprise IT infrastructure or implementations of commonly used integration elements (such as transformations, content based routers, etc.).

– Service components are the building blocks of Fiorano applications (Event Processes).

11

Prebuilt Service Components

– The Fiorano SOA platform comes bundled with 50+ service components

– These can be viewed in the Service Palette in the Fiorano Studio

12

Fiorano Tools

– The Fiorano Tools provide an intuitive visual interface to the capabilities of the ESB server for the end user.

13

Product Installation and Startup

• Enterprise Edition: The Enterprise Edition includes the Fiorano Enterprise Server, Fiorano Peer Server, Fiorano Components, and all Fiorano tools.

• Workstation Edition: The Workstation Edition includes the Fiorano Peer Server and all Fiorano tools. It does not include the Enterprise Server. This edition requires an Enterprise Edition running on the network (LAN or WAN or Internet).

• Installers are available for Windows and Unix flavors. The entire installation process takes about 15 minutes

14

Intermezzo I

• Execute fsoa2007sp4b4457.exe

• Choose username ‘student’ everything else default and click next, next, …

• Copy fiorano-soa2007.lic to c:\program files\fiorano\fioranoSOA2007SP4\licenses

Now start Fiorano1. ESB server2. Peer server3. Studio

15

Exercise I

• Use your exercise book (handout) and make Exercise 1 SimpleChat

• Takes ~ 30 minutes

16

Event Processes

• Event processes, designed using the Fiorano Studio, represent the central concept of the Fiorano platform

• The Fiorano Studio enables intuitive visual configuration of all the elements of an event process including – Service Components (of the process)– Routes (between components) – Deployment information and – (Presentation) layout information of icons

representing the Service Components

17

Service Components– Service components are the

building blocks of Fiorano Event Processes

– A service component is a computer program/application characterized by

• Input/Output Port(s) to allow events to flow into and out of the Component

• A Custom Property Sheet (CPS), allowing the component to be configured

– Service Components can be developed in many languages, including Java, C, C++, C# and scripting languages such as Perl, Python, etc.

18

Event Process Composition

• Create an instance of a service component by dragging and dropping one from the Service Palette.

• To name a component instance, select it and hit F2.• Draw routes between the component instances.

19

Configuration Property Sheet (CPS)

– CPS is a customization interface specific to each component

– CPS can be launched by double clicking on the component in an event process

– CPS for the SMTP component is shown here

20

Handling Service Components

– A Route is a directional data line between the output port of the source component and the input port of the target component.

– There may be multiple well-defined input and output ports for a component. Events flow into the component via the input ports, and out of the component via output ports.

21

The Event Process Lifecycle

• Fiorano Studio provides a single visual interface to design deploy and manage event processes.

• Working on different phases of the lifecycle of an event process is explained in the following slides

22

Event Process Deployment

• To deploy an event process 1. Check Resource and

Connectivity• During this process

all required resources for running the event process are transported to the runtime environment

2. Execute• At this time a

notification is sent to the runtime environment to start the event process

23

Event Process Debugging– View Component Log– View exceptions generated by a component by connecting its

ON_EXCEPTION ports to a Display component instance. – Increase Log Levels, if required – To debug a message sent on a route, simply right click on the

route add a breakpoint. – Messages trapped on a break point can be viewed\edited in the

Message Interceptor panel.

24

Event Process Monitoring• Monitoring

– Running application show up BOLD in the Studio– Different component states are shown in different colors in

Studio. Example: running components show in green– The Fiorano Dashboard also allows web based monitoring of the

status of event processes

25

Event Process Management

• Manage– Import/Export Event Processes– Sync/start/stop multiple event processes– Flow Documentation

26

Exercise 2

• Use your exercise book (handout) and make Exercise 2 (FileMove)

• Takes ~ 15 minutes

27

Exercise 3

• Please make Exercise 3

• Takes ~ 30 minutes

28

Exercise 6

SKIP Exercise 4

SKIP Exercise 5

• Please make Exercise 6– Requires an additional HTML Form on Page

25, please use the URL from page 26

• Takes ~ 30 minutes

29

Enabling/Disabling Document Tracking

– Enable document tracking on a component in/out port as shown below

• Select “No Workflow” – to disable doc tracking• Select “Workflow item” – to enable doc tracking• Select “Workflow end”– to mark the end of a tracking session

30

Viewing Tracked Documents

• View Tracked documents (http://localhost:1980/)– Tracked documents can be viewed from the Dashboard.– Document properties can be seen by clicking on the

corresponding Document ID.

31

Searching Tracked Documents

• Searching tracked documents– The Dashboard supports searching for tracked documents

based on many criteria e.g. Application name, peer server name, document's status, service instance name, port name and generation date

32

Configuring the Tracking Database

• Configuring Document Tracking Database– Fiorano uses an inbuilt Derby Flat File

Database to track documents• Any external JDBC-compliant database can be

plugged in to track the documents.

– The configuration files for Document Tracking are available under the conf/ directory of the profile of the Enterprise server for which this setting is to be enabled.

• <FIORANO_HOME>/esb/fes/profiles/<Profile_Name>/conf

33

Exercise 7

• Please make exercise 7 DocTracking

• Takes ~ 30 minutes

TIP: Use alternatively the McKoi DB

Edit starthsql.batReplace java –cp … by<firorano home>\<JRE home>\bin\java

TIP: Make HSQLManager.bat"C:\Program Files\Fiorano\FioranoSOA2007SP4\jre1.5.0_09\bin\java.exe" -cp "C:\

Program Files\Fiorano\FioranoSOA2007SP4\esb\samples\hsql\hsqldb.jar" org.hsqldb.util.DatabaseManagerSwing

34

Application Context

– What is Application Context?

– Scope of an output message– Define Application Context Structure

• Pre compose in an XSD Editing Tool like XML Spy• Create one in the Fiorano Mapper

35

Application Context

– Set/Drop Application Context Data• To set Application Context

data, right-click on the component’s output port and select “Application Context..”.

• Alternatively you may also use the XSLT component

– Use Application Context Data• On route transformation• With in the XSLT component

36

Exercise 8

• Please make exercise 8 Application Context

• Takes ~ 30 minutes

Remark:

Do not select scheduling on for the feeder (page 3)

37

Invoking Web Services• WSConsumer Component invokes a web service

(usually externally hosted on an application server system) based on the configured WSDL

38

Exposing Event Processes

• WSStub Component : Used to expose an Event Process as a web service in the Web Service Gateway (which is a web application deployed in the ESB Web Container).

39

Exercise 17 & 18

• Make Exercise 17 (Invoke WS)

• Make Exercise 18 (Webservice)

40

Fiorano Advanced Options

• Nice to know

41

Authentication – Users/Groups

– Authentication and authorization for users is created and managed by the Enterprise Server. This is used at design time to validate users accessing the Fiorano system

– The Administrator can create groups and users and grant privileges/permissions for various tasks on a Fiorano network.

42

Authorization - Permissions

– Users and groups created using Studio can be given different permissions like

• create or delete a Principal (users and groups)• compose an Event Process• change properties of an Event Process• terminate an Event Process• view running and saved Event Processes• configure a Fiorano Peer Server• create/update/delete a Business Component• create an ACL• create, edit and delete a Business Component ACL• launch an Event Process

43

Deployment Management I

Deployment Manager is a rules engine that enables the user to– create Rules that permit or restrict a Component from being launched.

– specify the identifiers for the Event Processes and the peer servers that the Component should/should not be launched on

– A rule is a conditional statement that controls the launch of Service Components.

– Identifiers are values assigned to the various configurable elements of the Fiorano network

44

Deployment Management II

– All rules are processed by the Enterprise Server in the order in which they are stored (FIFO).

– ensure that one rule does not interfere with the other. – the precedence of the rules can be altered.– Rule Syntax

45

Event Process and Document Security

– LDAP Authentication• LDAP authentication is used as a secure gateway into a flow.

Once the incoming request is authenticated using the LDAP component, the security context can be passed on to other components of the flow via an application context.

• Once we authenticate a user, that user's credentials roll over to other components in the process by via the application context.

– DB Authentication• A Database can act as the security repository in a similar

fashion as LDAP

46

Transport and Component Security

– Transport Security• Transport level security can be configured for Peer Server

transports

– Component level security• Encryption and decryption components allow for selectively

securing data packets before sending them on the wire• HTTPReceive component allows for listening for SSL

enabled HTTP connection requests• Webservice consumer, HTTPPost, FTP and similar

components allow for configuring secure access to the respective servers

47

High Availability - Semantics

– High Availability is implemented in Replication mode where in each server (the primary and secondary) has a repository of its own and repository sync-ups are performed between the servers during startup and in real-time for each operation

– If the passive server detects that its active server is out of the network or it’s been shut down, it starts itself up

– Availability of servers is detected via ping packets. – A Gateway server acts a mediator in case of network

failures

48

High Availability - Organization

Fiorano Peer Server

Business Components

Standby Peer

Replicated Data-store

Active Peer

49

Hardware Requirements

– The hardware hosting the HA servers need to have 2 ethernet cards each.

– One of them is a dedicated high speed connection across the two server instances.

dedicated high speed connectionE1

E2

E1

E2

E1HA Primary HA Secondary

E2

Internal Ethernet card

Externa! Ethernet card

50

Recommended Memory Settings

• For Servers– Recommended: 2 GB (as max permitted by JVM)– Minimum: 512 MB

• For Tools (Studio)– Recommended: 1 GB– Minimum: 512 MB

51

Starting and Stopping HA Servers

– FES HA profiles can be found here:• esb\fes\profiles\FES_rpl

– FPS HA profiles can be found here:• esb\fps\profiles\fps_rpl

Launch Shutdown

ESB Server Move to directory <fiorano_installation_dir>\esb\fes\bin and runfes<bat/sh> profile <profileName>

Move to directory <fiorano_installation_dir>\esb\fes\bin and runshutdownFES<bat/sh>

Peer Server Move to directory <fiorano_installation_dir>\esb\fps\bin and runfps<bat/sh> profile <profileName>

Move to directory <fiorano_installation_dir>\esb\fps\bin and runshutdownFPS<bat/sh>

52

Load Balancing I/II• Pull based

• Distribution via JMS Queues• Multiple instances of components can listen on the

same queue and load will be automatically distributed across the listening instances

53

Load Balancing II• Push based

• Using the Distribution component– This component is used for distributing the workload of N

Jobs amongst M components (‘processors’). – The component uses a weighted round robin mechanism

54

Scaling• Multithreading

– Components can be configured for increased concurrency– This is done by configuring the number of sessions in the in-ports of the

component

• Distribution across multiple Peers– Component instances can be deployed across multiple peers to distribute

the load handling capability

Thread Count of ComponentsBy default, a service component is single threaded, that is, there is only one document

being processed by a service component at any given time. If you observe that the CPU is not being fully utilized during a load test, then you can increase performance and throughput by increasing the # of sessions (that is, threads) for a component, which linearly increases the number of data-elements being processed by the component concurrently. The number of threads per component can be set within the Properties window of the InPort of each component in the Studio.

Always start off with the bottleneck component when optimizing threads this way since there will typically be only one bottleneck component in a given process at a time. Once you fix the first bottleneck component, the bottleneck typically moves to another component in the flow. Using this technique, you can optimize the number of sessions/threads for each component based on the ability of the hardware to process data flowing through the Event Process.

55

Heap Size Control

• Setting Java heap for Servers – In the <INSTALL_PATH>/esb/<fes or fps>/bin/<fes or fps>.conf file edit

the value against –Xmx property. E.g. –Xmx1024m• Xmx Maximum heap size• Xms Initial heap size

• Setting Java heap for Components– Set the JVM_PARAMS property

for the component instance asshown here

56

Versioning - Component Level

– Different versions of a component can be deployed at the same time. The runtime picks up the resources corresponding to the desired version of the component.

– When developing a custom component, changes to an existing component can be done on an upgraded version.

– By default, the latest version of the available component is automatically picked up by the event process. This can be changed by setting the “Version Locked” property for the component in the event process

57

Versioning - Event-Process Level• When creating\saving an event process, the

version of the event process can be mentioned as shown below

• Other Fiorano resources that need to be version controlled include:– Peer server and enterprise server profiles– Custom service components– Custom mapper functions– Destinations (that is, queues/topics)

58

Event Process Migration I

When migrating an event process from one ESB environment to another, it is necessary to migrate

1. The component instance profiles, and2. The deployment configuration

In many cases, this involves simple string replacements within the event-process XML document.

59

Event Process Migration IIThis can be achieved by running a Fiorano ANT task.

1. Browse to the following path in a DOS prompt (terminal window for unix)<FIORANO_INSTALL_PATH>/esb/tools/cli

2. Edit the following file<FIORANO_INSTALL_PATH>/esb/tools/cli/build.properties

Configure the following properties in this file

PROPERTIES_FILE=<string_replace_config>INPUT_FILE=<event_process1>OUTPUT_FILE=<event_process2>

<string_replace_config> file contains name-value pairs likestring1=string2which means string1 will be replaced by string2

<event_process1> file is the event process XML built for the source environment, say dev<event_process2> file is the event process XML to be built for the target environment, say QA

3. and run the following commandant replace

60

Monitoring - The Fiorano Dashboard

The Fiorano Dashboard is a web based monitoring tool which provides information about the health and status of Fiorano Network.

Capable of :• Receiving Alerts• Receiving Events• Displaying them in real time

Provides real time statistics across the Fiorano Network.

61

Server Status Monitoring

– The Server Status tab on the dashboard displays the memory usage of the FPS and FES graphically.

– It also provides System details of these servers and also lists the topics, queues , connections and logs on these servers.

62

Event Process Monitoring

– The Applications tab lets a user monitor the current event processes

– The applications are listed in a table

– Clicking on the application displays the components that are part of the application along with the details of these components

63

Managing Fiorano Events

• The Events tab on the Dashboard displays the fiorano events.

• The tab also provides options to further filter the events based on criteria.

• The tab has three categories:

– Latest– Archives– Configure

Fiorano Event types:

ApplicationEvent, ServiceEvent, RouteEvent, SPEvent, TPSEvent, SecurityEvent, UserEvent, SBWEvent

64

Increasing log levels (server level)• FES

– Login to FES from Fiorano Studio, browse to Loggers Fiorano.

• In the Properties window, change the Loglevel as required.

• Log levels for FPS can be changed similarly

65

Monitoring Server logs

• The Sever Logs can be monitored from the Server Status tab on the Fiorano Dashboard .

• Alternatively FES server allows native API requests for fetching server and component logs

• Also SNMP traps could be set on the log files and this could be monitored via enterprise network management tools like HP OpenView.

66

24*7 - Auto Server Restart

– NT Service• You can run the Fiorano server in the background

(as long as Windows is running) by making and running it as a Windows service.

• The installation comes with scripts to install and uninstall the server as a Windows service.

• The NT service can be set to auto-restart during OS\hardware restarts

67

24*7 - Restart on Out Of Mem.

– To automatically restart the server when it runs out of memory,

– Edit the server.conf file located here:

<INSTALL_PATH>\launcher– Set the following properties

wrapper.filter.trigger.1=java.lang.OutOfMemoryError

wrapper.filter.action.1=RESTART

– This will monitor the JVM output and then restart the JVM automatically whenever a java.lang.OutOfMemoryError is thrown to the console.

68

24*7 - Server Restart Utility

– Auto-restart of the event processes and their components using the command-line 

– <Fiorano utility> can be used to automatically restart the event processes and their components from the command-line. This utility monitors the status of the running event processes and their components and restarts everything when it stops. This makes sure that the event processes and their components are up and running all the time.

69

Miscellaneous

70

Starting and Stopping ServersLaunch Shutdown

ESB Server (also referred to as the “Enterprise” server)

Navigate to directory <fiorano_installation_dir>\esb\fes\bin and runfes<bat/sh>

Navigate to directory <fiorano_installation_dir>\esb\fes\bin and runshutdownFES<bat/sh>

Peer Server Navigate to directory <fiorano_installation_dir>\esb\fps\bin and runfps<bat/sh>

Navigate to directory <fiorano_installation_dir>\esb\fps\bin and runshutdownFPS<bat/sh>

To start the Studio:

Navigate to directory <fiorano_installation_dir>\Studio\bin and runStudio<exe/sh>

71

Directory structure overview

– Default Applications and Components• <FIORANO_INSTALL_DIR>/esb/fes/repository

– User Applications and Components• <FIORANO_HOME>\runtimedata• Runtime repository can be modified by setting

ESB_USER_DIR variable in <FIORANO_INSTALL_DIR>\fiorano_vars.bat/sh file

– Server profiles• <FIORANO_INSTALL_DIR>/esb/fes/profiles• <FIORANO_INSTALL_DIR>/esb/fps/profiles