javantura v3 - develop the right way with s-case – marin orlić

28
Develop the right way with S-CASE Marin Orlić [email protected] Ericsson Nikola Tesla, Zagreb, Croatia

Category:

Technology


1 download

TRANSCRIPT

Page 1: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Develop the right way with S-CASE

Marin Orlić[email protected] Nikola Tesla, Zagreb, Croatia

Page 2: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Javantura v3 2

Background

Ericsson Nikola TeslaJava community ~200 ppl + studentsWide range of projects and interests

Zagreb, 20 February, 2016

EU FP7 projectFinal (3rd) year

Page 3: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

3

ScaffoldingScalableSoftware services

Zagreb, 20 February, 2016Javantura v3

Page 4: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

4

PrototypingScalableSoftware services

Zagreb, 20 February, 2016Javantura v3

Page 5: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

5

PrototypingCloudSoftware services

Zagreb, 20 February, 2016Javantura v3

Page 6: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

6

PrototypingCloudWeb services

Zagreb, 20 February, 2016Javantura v3

Page 7: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Javantura v3 7

Software developmentRequirement

s

Specifications

Design

Prototyping

Zagreb, 20 February, 2016

Concept

Page 8: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Javantura v3 8

Software developmentRequirement

s

Specifications

Design

Prototyping

Zagreb, 20 February, 2016

Existing artefacts Concept

Page 9: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Javantura v3 9

Software development with S-CASERequirements

Prototyping

Zagreb, 20 February, 2016

Existing artefacts Concept

Page 10: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

11

Features• RESTful

– 3rd level Richardson Maturity Model RESTful APIs

– Full Hypermedia As The Engine of Application State (HATEOAS)

• Authentication– Restrict access to selected resources

• Search– Search functionality (Lucene) mapped to

resources of your choice• Deploy ready

– Maven project ready to deploy to a container of your choice

• Code Generation– Automated code generation from

multi-modal requirements (English text, UML diagrams, storyboards)

• External web services– Call 3rd party REST web services– Create mashups of web services

• Database– Generate the schema and database

• Authorization– Enable attribute based access control

(ABAC) – coming soon

Zagreb, 20 February, 2016Javantura v3

Page 11: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

12

Working with S-CASE• Create requirements• Create service mashups• Generate code• Deploy WAR

• RESTReviews– 2100 LoC in Java– 15 mins from scratch– 0 bugs

Zagreb, 20 February, 2016Javantura v3

DONE!

Page 12: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

13

1

Zagreb, 20 February, 2016Javantura v3

INST

ALL

Page 13: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

14

2

Zagreb, 20 February, 2016Javantura v3

CREA

TE P

ROJE

CT

Page 14: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

15

3 DEFINE REQUIREMENTS

Zagreb, 20 February, 2016Javantura v3

Page 15: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

16

3 DEFINE WORKFLOWS

Zagreb, 20 February, 2016Javantura v3

Page 16: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

17

3 UML

Zagreb, 20 February, 2016Javantura v3

Page 17: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

18

4 (AUTO)ANNOTATE REQUIREMENTS

Zagreb, 20 February, 2016Javantura v3

Page 18: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

19

5 GENERATE CODE

- REST resources- Local DB- (Hibernate)- Search in DB

(Lucene)- Call external

web services- Authentication- Authorization

(Basic, ABAC)

Zagreb, 20 February, 2016Javantura v3

Page 19: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

20

5 CREATE MASHUPS

Zagreb, 20 February, 2016Javantura v3

Page 20: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

21Zagreb, 20 February, 2016Javantura v3

Page 21: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

22

6 GENERATE MASHUP SERVICE

• Resulting service can be used in prototype as external service

Zagreb, 20 February, 2016Javantura v3

Page 22: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

23

7 DEPLOY (MAVEN)8 USE THE SERVICE[INFO] Scanning for projects...[INFO] [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1[INFO] [INFO] ------------------------------------------------------------------------[INFO] Building restreviews 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ restreviews ---[WARNING] Using platform encoding (Cp1250 actually) to copy filtered resources, i.e. build is platform dependent![INFO] skip non existing resourceDirectory C:\Workspace\TestWorkspace\MDEGeneratedCode\restreviews\src\main\resources[INFO] [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ restreviews ---[INFO] Nothing to compile - all classes are up to date[INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ restreviews ---

Zagreb, 20 February, 2016Javantura v3

Page 23: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

24

There’s more...• Analyze natural language (NLP)• Find open source projects

– Using existing indices (MARKOS, Agora)• Index and query (in English) over your projects• Publish your own services

– YouREST service catalog, SAT tool, automatic• Perceived reliability, maintainability & code metrics of the service

– Exceeds NASA standards• Expand the platform

– 2D MDE – expandable code generation

Zagreb, 20 February, 2016Javantura v3

Page 24: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Javantura v3 25

Flavours – ECLIPSE SOLO

ECLIPSE SOLO

Single developer

Smaller projects

Simple services

Zagreb, 20 February, 2016

Page 25: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Javantura v3 26

Flavours – ECLIPSE PUBLIC

ECLIPSE PUBLIC

Developer teams

Quick prototype

Large projects

Reuse and mashup

Zagreb, 20 February, 2016

Page 26: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Javantura v3 27

Flavours – ECLIPSE SOLO

ECLIPSE PRIVATE

Additional security Protect IP

Customize S-CASE

Zagreb, 20 February, 2016

Page 27: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Getting started

Javantura v3 Zagreb, 20 February, 2016 29

@scasefp7

[email protected]://s-case.github.iohttp://www.scasefp7.eu

S-Case

S-Case FP7

s-case

Page 28: Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Zagreb, 20 February, 2016Javantura v3 30