development with oracle - doag deutsche …€¢ bics approx 215,- / month ... that consume and...

63

Upload: hahanh

Post on 01-May-2018

220 views

Category:

Documents


1 download

TRANSCRIPT

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

DEVELOPMENT WITH ORACLE OPEN SOURCE PRODUCTS:

NOT JUST JET

Tuesday, November 15th

11:00-11:45

DOAG Konferenz, Nurnberg, Germany

Luc Bors

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

About Luc Bors• Technical Director• ADF, JET, MAF, MCS• ACE Director• Working with Oracle

since 1999

About Ronald van Luttikhuizen• Managing Partner• WLS, OSB, SOA• ACE Director• Working with Oracle

since 2000

3

WHO AM I?

About eProseed• Local offices in several parts of world• HQ in Luxemburg• Award winning Oracle partner

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

• Network Organization• Relies on Sponsorship for

funding• Smart Cities• Smart Retail• Smart Logistics

4

INTRODUCING THE CUSTOMER

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PROGRAM AGENDA

Historical Overview

Going to Plan B

Going into details

Features, Issues or Challenges?

Summary

2

3

4

5

1

5

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PROJECT TIMELINE

• June 2015 à First Contact• August 2015 à Plans Made• November 2015 à Development Started

6

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

INITIAL PLAN

7

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

COST FOR THE CLOUD

• JCS approx 200,- / month• DBCS approx 260,- / month• BICS approx 215,- / month / user (minimum 10)• Total: approx 2500,-/month

• JCS + BICS + DBCS > 30000,- / year

8

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

INITIAL PLAN (AFTER DOING MATH)

9

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PROJECT TIMELINE

• June 2015 à First Contact• August 2015 à Plans Made• November 2015 à Development Started• January 2016 à Budget Cut• February 2016 à Re-architecting

10

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

INITIAL PLAN (AFTER DOING MORE MATH)

11

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PROGRAM AGENDA

Historical Overview

Going to Plan B

Going into details

Features, Issues or Challenges?

Summary

2

3

4

12

1

5

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PLAN B

13

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PLAN B - ARCHITECTURE

14

Oracle MySQL 5.7

Oracle GlassFish 4.1

JAX-RS 2.xEJB 3.3

Oracle EclipseLink 2.5

Oracle JET 2.x (started with 1.0.2) UI Developer

Service Developer

DB DeveloperO

racl

e SQ

L D

evel

oper

12

.1.3

Ora

cle

JDev

elop

er

12.1

.3

Ora

cle

Net

bean

s8.

0.1

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

INTRODUCING THE TECHNOLOGIES

15

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE JET

• Oracle JET is targeted at intermediate to advanced JavaScript developersworking on client-side applications. It's a collection of open source JavaScript libraries along with a set of Oracle contributed JavaScript libraries that make it as simple and efficient as possible to build applications that consume and interact with Oracle products and services, especially Oracle Cloud services.

16

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |17

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE GLASSFISH

• GlassFish is the reference implementation of Java EE and as such supports Enterprise JavaBeans, JPA, JavaServer Faces, JMS, RMI, JavaServer Pages, servlets, etc. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Optional components can also be installed for additional services.

18

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE MYSQL

• MySQL is the world's most popular open source database. With its proven performance, reliability, and ease-of-use, MySQL has become the leading database choice for web-based applications, used by high profile web properties including Facebook, Twitter, YouTube

19

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

THE TRANSITION

• Oracle Database to MySQL

• Weblogic to GlassFish

20

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |21

DDL SCRIPTS

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

• Weblogic–Weblogic-application.xml– IdentityProvider: Weblogic Users

–No Need for EJB references in web.xml

• Glassfish–Glassfish-application.xml– IndentityProvider: JDBC Security

–Needs EJB references in web.xml

– Security Roles Mapping in glassfish-web.xml

–Remove some libs from ear file• zip -d SdcRestServices.ear lib/*• zip -d SdcRestServices.ear adf/*

22

WEBLOGIC TO GLASSFISH

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |23

GLASSFISH SPECIFIC DESCIPTORS

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PROJECT TIMELINE

• June 2015 à First Contact• August 2015 à Plans Made• November 2015 à Development Started• January 2016 à Budget Cut• February 2016 à Re-architecting• April 2016 à Go Live v1.0

24

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

RELEASE CYCLE

25

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

SOLUTION AT A GLANCE

26

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

SOLUTION AT A GLANCE

27

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PROGRAM AGENDA

Historical Overview

Going to Plan B

Going into details

Features, Issues or Challenges?

Summary

2

3

4

28

1

5

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

APPLICATION

• JET application– “Deployed” as static content in the docroot of glassfish domain.

• Webservices–Deployed as ear on Glassfish

• Database– Scripts for MySql

29

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE GLASSFISH

30

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE GLASSFISH

31

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE GLASSFISH

32

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE GLASSFISH

33

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE MYSQL

34

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE ECLIPSELINK

35

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE ENTITIES AS EJB

36

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

EJB AS REST

37

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE JET

38

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PROGRAM AGENDA

Historical Overview

Going to plan B

Going into details

Features, Issues or Challenges?

Summary

2

3

4

39

1

5

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

END USERS – THEY MAKE TYPOS

[email protected][email protected][email protected]

• All Usernames Upper Case

40

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

END USERS – THEY MAKE TYPOS

• Password Reset Functionality

41

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE JET - REMEMBER PASSWORD

• Knockout cannot see “remembered” passwords

42

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE JET - CACHE BURSTING

• JET is static content, downloaded into clients browser..

43

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE JET - QUICK USERS

44

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

• All data changed in the database WILL NOT BE available in the data cache of Eclipselink !!• Prevent use of database triggers if

possible

45

DATABASE TRIGGERS AND ECLIPSELINK

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

• Use flush() on entity manager

46

DATABASE TRIGGERS AND ECLIPSELINK

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

• Printing• Mailing

47

OTHER FEATURES (ISSUES OR CHALLENGES)

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE JET - MULTI LANGUAGE

48

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE JET - MULTI LANGUAGE

49

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

ORACLE JET - MULTI LANGUAGE

50

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MULTITENANT OPTIONS ECLIPSELINK

• Single-Table Multitenancy–@Multitenant(SINGLE_TABLE) –@TenantDiscriminatorColumn(name = “TENANT_ID”, contextProperty =

"employee-tenant.id")

• Table-Per-Tenant Multitenancy–@Multitenant(TABLE_PER_TENANT)–@TenantTableDiscriminator(SCHEMA)

• VPD Multitenancy–@Multitenant(VPD)–@TenantDiscriminatorColumn(name = "USER_ID", contextProperty = "tenant.id")

51

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MULTI TENANT

52

TABLE_ONE_NLTABLE_TWO_NL TABLE_ONE_UKTABLE_TWO_UK

USERS

LOGIN APP NL LOGIN APP UK

Tenant = NL Tenant = UK

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MULTI TENANT

53

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MULTI TENANT JET

• Repopulate Lists

• Refresh Knockout Bindings

54

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MULTI TENANT ECLIPSLINK

55

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MULTI TENANT ECLIPSELINK

56

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MULTI TENANT

57

TABLE_ONE_NLTABLE_TWO_NL TABLE_ONE_UKTABLE_TWO_UK

USERS

LOGIN APP NL LOGIN APP UK

Tenant = NL Tenant = UK

TABLE_ONE_XTABLE_TWO_X

LOGIN APP X

Tenant = X

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MULTI TENANT

58

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MULTI TENANT

59

TABLE_ONE_NLTABLE_TWO_NL TABLE_ONE_UKTABLE_TWO_UK

USERS

LOGIN APP NL LOGIN APP UKLOGIN ADMIN CONSOLE

Tenant = NL Tenant = UKNo tenant set. Needsaccess to all tables

?TABLE_ONE_XTABLE_TWO_X

LOGIN APP X

Tenant = X

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PROJECT TIMELINE

• June 2015 à First Contact• August 2015 à Plans Made• November 2015 à Development Started• January 2016 à Budget Cut• February 2016 à Re-architecting• April 2016 à Go Live v1.0• End 2016 à Go Live v2.0

60

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PROGRAM AGENDA

Historical Overview

Going to plan B

Going into details

Features, Issues or Challenges?

Summary

2

3

4

61

1

5

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

• Stable & Fast• Easy Configuration• Support for Used

Technologies• SQL Authentication• Free

62

• Easy to Use• Easy to manage• Supports standard SQL

SUMMARY

• Ease of Development• Rich Component Lib• Interactive UI• Free

63