XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client...
Transcript of XINSxins.sourceforge.net/presentations/xins_intro.pdf · Billing system API for rich client...
1
XINS
Version 1. April 2006Ernst de Haan
A brief introduction
Target audience:
● management
● architects
● analysts
2
Scope
● Framework
● Domain: Distributed applications● Environment: HTTP networks● Programming language: Java● Natural languages: English, French
3
Applicability
● Develop stand-alone applications● Encapsulate existing ones
Stand-aloneXINS application
XINS wrapper
Legacyapplication
4
How is XINS applied? (1)
API
Billingsystem
Front-end(HTML)
Customers, agents
API
VoIPsystem
SSO
LDAP
XSLT
5
How is XINS applied? (2)
API
Billingsystem
API for rich client
Customers, agents
API
VoIPsystem
SSO
LDAP
Rich client
6
How is XINS applied? (3)
API
Billingsystem
Customers, agents
API
LDAP
7
How is XINS applied? (4)
API
Billingsystem
External API
Customers
API
VoIPsystem
SSO
LDAP
Partner system
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
9
DOD
Definition-oriented development:● Focus on definitions, not on code● Definitions are mandatory● Definitions are leading● First definitions, then coding
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.)
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
12
Coding with XINS
● Java● Semantic equivalence● Compile-time error detection● Run-time error detection● Extensive logging
13
Consistent approach
Provides/allows unified approach to:● coding● logging● testing● management, monitoring● packaging● error detection● etc.
14
Separation of concerns
Separate:● specification and implementation● data and presentation● logging, code and translations
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
16
XINS components
Libraries
Tools
Definitionformats
Applicationcontainer
RPCprotocol
Loggingtechnology
17
Sandbox: Input validationRequest
Checkif OK
errorif notOK
XINS Application Container
XINS Application
18
Sandbox: Output validation
Check
if OK errorif notOK
XINS Application Container
Response
XINS Application
19
Meta functions
● Monitoring:– “are you alive?”– live performance statistics
● Remote management:– En-/disable functionality
● Checking– Settings– Check ACLs
20
Brief history
Apr
Nov
May
: Project initiated
...
: 1.3.0
: 1.4.0
2002
2005
2006
● Used in production since end of 2002
21
What does XINS bring?
● Quicker to implement● Less bugs● Easier to detect and solve issues● Easier to manage/operate