XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client...

21
1 XINS Version 1. April 2006 Ernst de Haan A brief introduction Target audience: management architects analysts

Transcript of XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client...

Page 1: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

1

XINS

Version 1. April 2006Ernst de Haan

A brief introduction

Target audience:

● management

● architects

● analysts

Page 2: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

2

Scope

● Framework

● Domain: Distributed applications● Environment: HTTP networks● Programming language: Java● Natural languages: English, French

Page 3: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

3

Applicability

● Develop stand-alone applications● Encapsulate existing ones

Stand-aloneXINS application

XINS wrapper

Legacyapplication

Page 4: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

4

How is XINS applied? (1)

API

Billingsystem

Front-end(HTML)

Customers, agents

API

VoIPsystem

SSO

LDAP

XSLT

Page 5: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

5

How is XINS applied? (2)

API

Billingsystem

API for rich client

Customers, agents

API

VoIPsystem

SSO

LDAP

Rich client

Page 6: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

6

How is XINS applied? (3)

API

Billingsystem

Customers, agents

API

LDAP

Page 7: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

7

How is XINS applied? (4)

API

Billingsystem

External API

Customers

API

VoIPsystem

SSO

LDAP

Partner system

Page 8: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

8

XINS goals

● Easy to develop distributed applications– easy to understand– good time to market– avoid bugs

● Easy to monitor and operate● Easy to test● Consistent● High quality● Stable

Page 9: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

9

DOD

Definition-oriented development:● Focus on definitions, not on code● Definitions are mandatory● Definitions are leading● First definitions, then coding

Page 10: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

10

Advantages of DOD

● Easy to re-use, e.g. as:– runtime configuration for tools

● Easy to transform, e.g to:– behavior (validation, business logic, etc.)– documentation– tools or tool configurations (test forms, etc.)– other kinds of definitions (WSDL, etc.)

Page 11: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

11

DOD with XINS

● Write some definitions in XML, including examples

● From that, generate:– Documentation (HTML, ODF)– Server-side: Sandbox- and template code– Client-side: Calling code– Stubs– Automated tests

Page 12: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

12

Coding with XINS

● Java● Semantic equivalence● Compile-time error detection● Run-time error detection● Extensive logging

Page 13: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

13

Consistent approach

Provides/allows unified approach to:● coding● logging● testing● management, monitoring● packaging● error detection● etc.

Page 14: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

14

Separation of concerns

Separate:● specification and implementation● data and presentation● logging, code and translations

Page 15: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

15

Protocol independence

Out-of the box,XINS supports:● XML-RPC● SOAP● POX-RPC● XSLT

● Easy to addcustom protocols

XINSapplication

SOAPvariant YSOAP

variant X

...POX-RPC

Page 16: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

16

XINS components

Libraries

Tools

Definitionformats

Applicationcontainer

RPCprotocol

Loggingtechnology

Page 17: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

17

Sandbox: Input validationRequest

Checkif OK

errorif notOK

XINS Application Container

XINS Application

Page 18: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

18

Sandbox: Output validation

Check

if OK errorif notOK

XINS Application Container

Response

XINS Application

Page 19: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

19

Meta functions

● Monitoring:– “are you alive?”– live performance statistics

● Remote management:– En-/disable functionality

● Checking– Settings– Check ACLs

Page 20: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

20

Brief history

Apr

Nov

May

: Project initiated

...

: 1.3.0

: 1.4.0

2002

2005

2006

● Used in production since end of 2002

Page 21: XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client Customers, agents API VoIP system SSO LDAP Rich client. 6 How is XINS applied? (3) API

21

What does XINS bring?

● Quicker to implement● Less bugs● Easier to detect and solve issues● Easier to manage/operate