41
Session 2420 FIPER: The Federated S2S Environment Michael Sobolewski Senior Computer Scientist GE CR&D [email protected]

FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 2420

FIPER: The Federated S2S Environment

Michael SobolewskiSenior Computer ScientistGE CR&[email protected]

Page 2: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 24202

Overall Presentation Goal

Learn how to architect and build Service-to-Service (S2S) environments using RMI, Jini™,Rio, Java™ Servlet, and JDBC™

technologies

Page 3: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 24203

Learning Objectives

• As a result of this presentation, you will be able to:– Design S2S environments using RMI, Jini™

and Rio technologies– Recognize network-centric vs. server-centric

frameworks– Understand the job/task/context/method

paradigm– Recommend a distributed

megaprogramming system

Page 4: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 24204

Speaker’s Qualifications

• Dr. Mike Sobolewski is a senior computer scientist at GE Corporate Research and Development (CR&D)

• Published more than 70 publications in computer science and SW engineering

• OO technologist with 10 years of experience in C/C++, 15 years on Smalltalk, and 6 years using Java™ technology

• Architect and lead developer for more than 20 Java technology-based and Web-based projects at GE CR&D, recently for the FIPER project at GE CR&D

Page 5: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 24205

Distributed Megaprogramming

I do not believe traditional tools, technologies, and methodologies support Distributed Megaprogramming

Page 6: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 24206

Presentation Agenda

• Distributed Megaprogramming• Job/Task/Context/Method Paradigm• FIPER S2S Environment• FIPER Functional Architecture• Design Issues (UML diagrams)• Summary

Page 7: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 24207

Federated Intelligent Product EnviRonment (FIPER) Vision

Federated S2S environment to ...

Service

Service

Service

Build new services

Convert legacy apps to dynamic FIPER services (J2EE™ technology)

Assemble FIPER services together (RMI, Jini, Rio technologies)

Create modern clients accessing services

Service

Service

Page 8: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 24208

FIPER Megaprogramming Domain

SystemDesign

SubsystemDesign

ComponentDesign

Page 9: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 24209

Everything Is on the Network Everything on the Network Is a Service

Page 10: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242010

Service Provider As a Network Object

Requestor

MobileProxyObject

Provider

Page 11: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242011

Service-Oriented Computing

HTML/XML

HTTPApp Server

App1DBMS

HTTP

XDBC

App2DBMS

AppnDBMS

Service1 Servicen

XDBC XDBC

Client1

Object Registry/Lookup Service

P1 Pn…P0

P0

P1

Pn

Clientm

P1 Pn

Method callsP1

Network Objects

Page 12: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242012

Service-to-Service (S2S)

HTML/XML

HTTPApp Server

HTTP

DBMS

…Provider1 Providern

Client1

Object Registry/Lookup Service

P1 Pn…P0

P0

P1

Pn

Clientm

P1 Pn

P1

Providerp

Pp

Pp Pp

service

Service Providers

Method callsService(Exertion)

Page 13: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242013

Applying OO Techniques to the Network

• Service activity is a special object of type: Exertion

• Exertions are executed by network objects/service providers of type: Servicer

• Service providers form P2P environment• Service is requested by calling the method: service(Exertion)• Service providers are identified by a Java™

technology type with methods: public ServiceContext selector(ServiceContext)

Page 14: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242014

Exertion Interface

• All service activities implement this interface:

public interface Exertion {// Apply this exertion method to the specified contextpublic Exertion exert() throws RemoteException, ExertionException;…

}

Page 15: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242015

Service Peer Interface: Servicer

• All services implement this interface:

public interface Servicer {// Put into action the specified exertionpublic Exertion service(Exertion exertion)

throws RemoteException, ExertionException;// Monitoring methods…

}

Page 16: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242016

Job/Task/Context/Method Paradigm

……

Job Task Task Context Context Method

Page 17: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242017

Contexts and Task Methods

DAS

GEOMMAT

ShankMat_Rene5.dat

PP

STRESS

Post_Stress.dat

LC

Gas_Loads

ExtGLoads.dat

BC

Cyclic

DiskAirfoil

UIF

Airfoil.uif

Mesh

Disk_PRT

AS_PRT

AS_Shank.dat

AS_Shank.prt

AS_PRT

Disk.prt

Mesh

Stress_Tet

Stress_Tet

AS_Shank.datAS_Shank.dat

AS_Shank.dat Modal_Hex

CC

CC… MAT_RENE5

TCBCCyclic.dat

ContextMethodScriptMethodXYZMethod

ContextMethod attributes: service type, selector, group, provider name, method typeMethod type: preprocess, process, postprocess, append

Job Task Task Context Context MethodTC – Task Context, CC – Control Context

Page 18: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242018

Workflow vs. Job

A1

A2

A3

A4

A5

A6

A7

T1 J1 J2 T2

Workflow

W0 = { (A1, A2), (A1,A3),

(A2, A4), (A2, A5),

(A3, A6), (A4, A7),

(A5, A7), (A6, A7) }

Sequential relationship

Unidirectional aggregation

Inherent control strategy

Explicit all connections

Task/Job

J0 = (T1, J1, J2, T2)

J1 = (A2, A3)

J2 = (A4, A5, A6)

Is-part-of relationship

Bi-directional aggregation

Control strategy separated

Workflow defined implicitly

Page 19: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242019

Service Binding

Job as a Megaapplication

Job

Task

Context

Method

Method type: preprocess, process, postprocess, append

Page 20: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242020

Federation of Services as a Job Runtime Environment

Federation Member

Job

Task

Context

Method

Method type: preprocess, process, postprocess, append

Page 21: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242021

QuestionWhat does it mean to be a service?

Page 22: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242022

A service is an act of requesting a service(Exertion)operation from a service provider.

Answer

If accepted thenexertion.exert()

elseforward to a relevant service provider

��������������

��������������

��������������

��������������

��������������

����������������

����������������

����������������

����������������

����������������

ServiceProvider

Service Requestor

service(exertion)

ServiceInterface1 , ServiceInterfacei…,

signature1 , signaturek…,Impl1

operation1 , operationl…,

Page 23: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242023

FIPER FunctionalArchitecture Overview

CMTJ LayerCMTJ LayerFile StoreFile Store

Web CMTJ ClientsWeb CMTJ Clients

RequestorRequestor

J2EE, Jini, Rio,, GAppJ2EE, Jini, Rio,, GApp

FIPER CoreTask Dispatchers, Provider, Proxy, Bean

DataAccessor, ProviderAccessor

Infrastructure ProvidersJobber, Dropper, Cataloger, Persister, Notifier, Reporter, Securer, Auditor

Infrastructure ProvidersJobber, Dropper, Cataloger, Persister, Notifier, Reporter, Securer, Auditor

PersistenceLayer

StaticBootstrapping

ExtraportalExtraportalIntraportalIntraportalService UIsService UIs

Utilities and TemplatesUtilities and Templates

Page 24: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242024

Dynamic Capability Trend

Page 25: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242025

FIPER Organizational Architecture

WebClient

PersonalJava

FIPERnetJini, Rio

ObjectSpace

JavaSpaces

RequestorService UI

J2SERDBMS

ClientFile

Store

ProjectFile StoreJ2EE, Servlets

Org. FileStore

PDM

FIPERPortal

J2EE, Servlets

Data Store

JDBC™

Page 26: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242026

Context/Method/Task/Job

RemoteFiper

Method

FiperContext

FiperMethod

ArithmeticMethod

FiperTask

Hasdata

EntryFiperTask

Entry

EntryFiperJob

FiperJob

ClientSite

ServerSite

1..*

1..*

Defines behavior

Defines remotebehavior

Exertion

Serializable

EntryExertion

Remote

0..*

Page 27: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242027

Task Execution

RemoteFiperMethod

FiperJoiner

FiperContext

ArithmeticMethod

FiperProvider

Servicer

ArithmeticProviderImpl Publishes

Proxy

FiperTask

Executes

UnicastRemoteObject

0..* Hasdata

ArithmeticRequestor

RequestorRunner

Provider ArithmeticInterface

EntryFiperTask

ProviderWorkerJavaSpace

UsesRuns

Invokes

ArithmeticRemote

Remote

RequestorDrops task

Submits task

Submits task

Page 28: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242028

QuestionDoes FIPER use service brokers?

Page 29: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242029

AnswerA FIPER service broker is called a jobber.

���������������

���������������

���������������

���������������

���������������

�����������������

�����������������

�����������������

�����������������

�����������������

ServiceProvider

Service Requestor service(task)

service(job) service(task)

Jobber

Page 30: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242030

Job Execution

Uses

RequestorRunner

Cataloger

ServiceCatalogImpl

JobberImpl DisapatcherFactory

TaskDispatcherFactory

Creates

Invokes

FiperTaskDispatcher

CatalogTaskDispatcher

TaskDispatcher

SpaceTaskDispatcher

Jobber

Provider Requestor

ArithmeticRequestor

Service access: Direct, Catalog, Space

ProviderAccessor

JavaSpace

Submitsjob

Drops job

FiperProvider

ServiceServlet

<<HTTP>>

FiperLauncher

ProxyProtocol

Uses

ServletProtocol

Uses

JobBrowser

Page 31: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242031

Jini™ Network Technology Service BeansRio• Jini™ technology-based Service Beans

(“JSBs”) are the fundamental domain specific computational entities on the network

• Are provisionable based on their QoSattribute

• Jini technology-based Service Beans are instantiated by Cybernodes– Cybernodes run on computational resources– Cybernodes can contain multiple

service beans

Page 32: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242032

FIPER Smart ProxyBL on Client and Server

UnicastRemoteObject

ProviderProviderWorker

JavaSpace

FiperBean

FiperProvider

ServiceBean

Adapter

ProviderDelegate

Delegates to

FiperProxy

Remote

ArithmeticProxy

FiperJoiner

ArithmeticBean

Exports Provider

ArithmeticService

Service

ArithmeticProvider

ProvisionerDeploys by QoS

ArithmeticRemote

Remote

ArithmeticInterface

Servicer

Publishes

provider’s proxy

Uses

Uses

Uses

Page 33: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242033

Provider Bootstrapping

Rio/JiniLUSJSBProvisioning (Rio)

JiniLUSFIPER providerwith smart proxy(Jini)

java FiperJoiner -pProviderClass:ProxyClass

JiniLUSFIPER provider(Jini)

java FiperJoiner -pProviderClass

RMI/CORBAJNDI/RMI RegJNDI/LDAP

RMI server(JRMP/IIOP)

java FiperJoiner -sProviderClass

TechnologyNDSServer TypeBootstrapping Type

Page 34: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242034

Mobile Code

• FIPER Code Mobility has many forms1. Proxies2. Exertions 3. Task Methods 4. Agents5. FIPER Beans (JSBs)6. Service UIs

Page 35: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242035

FIPER Runtime Environment

Infrastructure:JobbersDroppersCatalogersPersistersNotifiersService UIsWebstersCybernodesProvisionersLincolnsWeb Server/App Server

Domain specific:ProvidersRequestorsServiceUIs

FIPER

Rio

Page 36: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242036

Summary (CNb)3

• Service Centricity – everything is a service, each represented as

an object on the network identified by type

• Network Centricity– services discover each other– the service is the network (N-1, 1-1,

1-N, S-N)

• Web Centricity– Interportals/Extraportals to services

with thin web clients (applets/servlets)

FIPER’s C3

Page 37: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242037

Summary (CNb)3

ObjectRegistryP

ServiceProvider

PClientP

WCH?

WCW?

* **

FIPER’s N3

WCH?

• Co-location Neutrality• Protocol Neutrality• Implementation Neutrality

* Business logicWCH/W – Who cares how/where?

Page 38: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242038

Summary (CNb)3

• Accessibility– Web Centricity, standalone clients, agents

• Adaptability– Mobile Code

• Scalability – Network Centricity, Federated Services

Architecture Qualities b3

Page 39: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 242039

Conclusion

• Jini™ and Rio technologies enable federated S2S, platform independent, real world megaprogramming environments.

• A FIPER job is a distributed megaapplication executed in a federated S2S environment.

Page 40: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 2420

Page 41: FIPER: The Federated S2S Environmentsorcersoft.org/publications/papers/2420.pdf• Jini technology-based Service Beans are instantiated by Cybernodes – Cybernodes run on computational

Session 2420