22
Systems of Electronic Commerce Prof. Jukka Heikkilä Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361 email: [email protected] 1

Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

Systems of Electronic Commerce

Prof. Jukka HeikkiläInformation systems, eBusiness

Dept. of CS & ISFaculty of Information Technology

University of Jyväskylä

tel:+358 50 581 8361email: [email protected]

1

Page 2: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

Components

• A component ”represents a modular part of a system, that encapsulates its content and whose manifestation is replaceable within its environment. A component defines its behavior in terms of provided and required interfaces", (OMG, 2008)

2

2

Page 3: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

Component based software

• Software components: – collections of objects, in binary or textual form,

with an interface– Roots in object oriented programming and

object oriented design– Some key issues:

•Abstraction •Encapsulation• Inheritance (is-a, part-of)• Invocation

3

3

Page 4: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

More: http://koti.phnet.fi/mathie/Lintulauta/Matti Hietanen, 2005

Suorakanava, 2009

AbiSilvester, 2008

Forestum Oy, 2008

4

Component-based design

4

Page 5: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

5

Software component types (based on Häkkinen & Peltola, 1998)

– Tailor-made: Developed for specific purpose in specific environment

– Product component (COTS, OTS, black-box): has been developed with a standard interface, and is re-usable developer oriented component.

» Add-on component (also plug-in) is a complementary, end-user oriented component

» Adaptive component is adaptable for various pre-specified uses and environments (e.g., adapters)

– Service component: standard interface for service definition and requesting

ApplicationService

Provision

On-demand, SaaS

5

Page 6: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

6

Some history: HP e-speak (HP, 2000)

• A Network of Distributed processes: service repository & e-speak engines– Can be used as a search facility and to launch processes

• search by attributes or by named services

– Follow-up: access control & trusted services• Open

– Distributed processes can be added to the need– Bundling individual services

• Capacity considerations– distributed registration of services/processes (e.g., LDAP

-> UDDI)

6

Page 7: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

7

E-speak flow

7

Page 8: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

8

E-speak• client library

– naming + attributes

• J-ESI – Java E-speak Service

Interface (=API)• ABI

– Application Binary Interface (=internal)

• resource handler– Java code utilizing

the resource/service

8

Page 9: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

9

Distributed systems architecture• Distribution models

– Mirror sites– Replicated data – Distributed data– Distributed processing– Co-operative processes

• Logically centralized but physically distributed

• Next step - completely distributed systems

9

Page 10: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

10

Present distributed computing environment (BEA, 2006)

10

Page 11: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

11

Present… cntd(Voormann, H., c.f. from Wikipedia)

WSDL Web Services Description Language (W3C)

SOAP Simple Object Access Protocol (WSs msg format description, W3C)

UDDI Universal Description Discovery and Integration (XML-registry, OASIS)

11

Page 12: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

!"#$%&'()''*+&',-.+/-0'102&%3%"4&'5%.+"2&.2$%&'!%-/&67%8)

95*5

!"#$

%&"'()*+

*+&',-.+/-0

!%-/&67%8!:;<*=>;

,-.

%/0-12**+

;1*?>@A

!"202

%3-1#$'-(+

B1>BC1

!"-

%/2-452+

*=D1

!"2(

%&'62+

D>*=E5*=>;

!"7

%8-$'9#$'-(+

91*5=C19

@1B@1F1;*5*=>;F

!"#$%&'%(&)$*+$,

:;<=>-($0#1$-0

FGF*1D'D>91C

!-&./012,

?2*')(20

*1<H;>C>IG

D>91C

!3456/012,

@;'5A20

J:F=;1FF'D>91C

!(&)0*7$#12,

B.(20

!:;<*=>;=;I

1;*1@B@=F1

C"42'7K'2+"0#4

"/37%2-02'27'2+&

L$4"0&44

!"#$#%&'&()*++&,-

./+$"0++&#1$"2

C"42'7K'3%7.&44&4'2+&

L$4"0&44'3&%K7%/4

3/"4#$,"&'&()*++&,-

./+$"0++&56,40++

C"42'7K'C7.-2"704'"0

6+".+'2+&'L$4"0&44

73&%-2&4

7,#0&'&8*9,6&./+$"0++

),4*#$,"

C"42'7K'>%#-0"M-2"704

=/37%2-02'27'2+&

J$4"0&44

:0,5)0&'&8*9,6

,62*"$;*#$,"+

C"42'7K'1N&024

F"#0"K".-02'27'2+&

J$4"0&44

<$=0&'&8*9,6&./+$"0++

0>0"#

C"42'7K'J$4"0&44

I7-O4PF2%-2&#"&4

!"?+@80*"+&'&8*9,6

./+A&2,*)@(6$#$4*)

+/440++&-*4#,6

F&/-02".'D7Q&O

!"#&'&B/+$"0++&0"#$#%

C0$"&'&B/+$"0++60)*#$,"+1$5

?7%8'!O76'D7Q&O

:0,5)0&'&D62*"$;*#$,"

/"$#E,6F&'&E,6F&56,?/4#

D-42&%'F.+&Q$O&

<$=0&'&B/+$"0++

0>0"#(%4)0&'&B/+$"0++

4%4)0

J$4"0&44'BO-0

!"?&'&B/+$"0++

,.904#$>080*"+&'&B/+$"0++

+#6*#02%

H$/-0'=02&%K-.&

5%.+"2&.2$%&

:0,5)0&'&C,)0

E,6F&'&G0)$>06*.)0

B%7.&44"0#'F2%$.2$%&

<$=0&'&H%+#0=&0>0"#

(%4)0&'&:6,40++$"2

4%4)0

J$4"0&44'@$O&'D7Q&O

!"?&'&H#6/4#/6*)

*++06#$,"

80*"+&'&I4#$,"

*++06#$,"

FR42&/'9&4"#0

:6,4&'&(,=5/#06

-/"4#$,"

J@D&'&G*#*&0)0=0"#+@

+0#+

B%&4&02-2"70

5%.+"2&.2$%&

:0,5)0&'&K+06

E,6F&'&H4600"&-,6=*#

<702%7O'F2%$.2$%&

<$=0&'&!L04/#0

(%4)0&'&(,=5,"0"#

4%4)0

@$O&'9&4"#0

!"?&'&(,"?$#$,"

80*"+&'&I4#$,"

B%7#%-/

:6,4&'&M*"2/*20

+#*#0=0"#

J@D&'&(,"#6,)&.),4F

F&.$%"2R'5%.+"2&.2$%&

:0,5)0&'&J?0"#$#%

E,6F&'&N,.

*"/"0#'9&K"0"2"70

<$=0&'&J"#066/5#

(%4)0&'&8*41$"0&4%4)0

@$O&'F3&."K".-2"70

!"?&'&H/.O4,"?$#$,"

80*"+&'&H#05

5.2$-O'533O".-2"70

<7Q&

5.2$-O'J$4"0&44

>%#-0"M-2"70

5.$2-O'J$4"0&44

F.+&Q$O&

5.2$-O'J$4"0&44

F2%-2&#R

J$4"0&44'B%7.&44

D7Q&O

:6,4&'&B/+$"0++

56,40++J@D&'&B/+$"0++

60+,/640+

533O".-2"70

5%.+"2&.2$%&

:6,4&'&I55)$4*#$,"

-/"4#$,"

J@D&'&K+06&>$0P+

C7#".-O'9-2-'D7Q&O

!"#&'&G*#*&0"#$#%

C0$"&'&G*#*

60)*#$,"+1$5

B+R4".-O'9-2-'D7Q&O

!"#&'&H02=0"#@<*.)0Q

0#4A

C0$"&'&:,$"#06@R0%

9-2-'9&K"0"2"70

!"#&'&3$)0?

C0$"&'&I??60++

5.2$-O'J$4"0&44'9-2- 5.2$-O'B+R4".-O

;&267%84

;&267%8'5%.+"2&.2$%&

7,?0&'&I??60++0+

M$"F&'&:6,#,4,)+

*&.+07O7#R

5%.+"2&.2$%&

7,?0&'&S*6?P*60@

H%+#0=&+,-#P*60

M$"F&'&M$"0

+504$-$4*#$,"+

9"42%"L$2&Q'FR42&/

5%.+"2&.2$%&

7,?0&'&J@H&-/"4#$,"

T:6,40++,6Q&H#,6*20Q&0#4AU

M$"F&'&M$"0

41*6*4#06$+#$4+

J$4"0&44'C7#"42".4

FR42&/

7,?0&'&B/+$"0++

),4*#$,"M$"F&'&B/+$"0++

)$"F*20

F<>B1

!(&)$*+$#12,

/5#((20

5L42%-.2"704'S<7O$/04T

B&%43&.2"N&4'S@764T

12

Application frameworks & component models

Software architectures

Modules,components

Patterns, services

12

Page 13: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

13

How to bridge the gaps between layers between?

• Front-End of the webstore– For the top row: you should do business modelling– For the 2nd & 3rd row architecting and narrating

the user experience• Back-End of the webstore

– patterns to make it flexible and ‘agile’– processes & coreography from the narratives/

storyline– components, scripts, RPCs

13

Page 14: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

14

Design Patterns (adopted from Gamma et al., 1995)

• Generic descriptions or templates of solutions to context specific problems– It is described in:

• The goal and reason description in the form of intent• Motivation, describing scenarios/use cases in which to

use the pattern by combining problems and contexts• Graphical representation (typically class or interaction

diagrams), i.e. structure, participants, collaboration• Implementation, Sample Code• Known uses and related patterns

• Algorithms solve computational problems, patterns design problems

14

Page 15: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

15

Design patterns (IBM, 2004)

• Business patterns identify the interaction between users, businesses, and data. Business patterns are used to create simple, end-to-end e-business applications.

• Integration patterns connect other Business patterns together to create applications with advanced functionality. Integration patterns are used to combine Business patterns in advanced e-business applications.

• Composite patterns are combinations of Business patterns and Integration patterns that have themselves become commonly used types of e-business applications. Composite patterns are advanced e-business applications.

• Custom designs are similar to Composite patterns, as they combine Business patterns and Integration patterns to form an advanced, end-to-end solution. These solutions, however, have not been implemented to the extent of Composite patterns, but are instead developed to solve the e-business problems of one specific company, or perhaps several enterprises with similar problems.

• Application and Runtime patterns are driven by the customer's requirements and describe the shape of applications and the supporting runtime needed to build the e-business application.

• Product mappings to populate the solution. The product mappings are based on proven implementations.

15

Page 16: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

16

Patternsprocess

(IBM, 2004)

16

Page 17: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

• http://developer.yahoo.com/ypatterns/selection/calendar.html

17

17

Page 18: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

18

Jups’s opinion on patterns

• Patterns are computer practice, not science

• The patterns are helpful and proven model conceptualizations of solutions on specific problem domains,

• Patterns have to be backed up by rigorous and tested components/algorithms and with careful analysis and abstraction of the problem domain.

18

Page 19: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

19

Do we need the intermediate design stage?

• Why not just XP or RAD in an Agile way?– One-of-a-kind project or multiple similar products/

projects?– Ready made, tested templates and components– Multiple interconnections

• Technical conformity– ICT stds etc

• Functional conformity– I/O, sequence of processes, delays/lead times

• Procedural conformity– Quality stds and procedures, information sharing

and disclosure

– Abstraction

19

Page 20: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

20

Architecture functions (Youngs et al., 1999)

• “Breaking down the complexity of the IT system so that developers can analyze and design components that are relatively isolated from one another

• Analyzing the functionality so that required technical components (or infrastructure) can be identified

• Assisting in the analysis of service-level requirements so that the means of delivering them can be designed

• Providing a basis for the specification of the physical computer systems on which the IT system will execute and the mapping of components onto these computer systems”

20

Page 21: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

21

With WSDL/BPEL we are here… (adapted using Jonkers et al., 2004 framework on )

21

Page 22: Systems of Electronic Commerce - Jyväskylän …...Information systems, eBusiness Dept. of CS & IS Faculty of Information Technology University of Jyväskylä tel:+358 50 581 8361

22

Some background to the need for service architectures

• So far we have been discussing processes OO in the context of one computer

• What if the computer’s are many?– RPC Remote Procedure Calls (coupled, early

binding)– RMI Remote Method Invocation (loosely-

coupled, late binding)

• So, how to handle the calls and invocations– Lintulaudanvieras status report from multiple

lintulautas

22