תוכנית יומית לכנס התכנסות וארוחת בוקר
|
|
- Laurence Potter
- 5 years ago
- Views:
Transcription
1 תוכנית יומית לכנס התכנסות וארוחת בוקר 08:00-09:00 הרצאה הפסקה ראשונה הרצאה ארוחת צהריים הרצאה הפסקה מתוקה -09:00-10:30-10:30-10:45-10:45-12:30-12:30-13:30-13:30-15:00-15:00-15:15 הרצאה 15:15-16:30 לפרטים נוספים: טל פקס ג'ון ברייס הדרכה, חומה ומגדל 29 תל אביב, מיקוד
2
3 Java Web-Services, Microservices with REST & Spring Cloud Tavor Haim 1
4 Topics Architecture REST based Web Services JAX-RS Spring MVC + Spring Boot Microservices SpringCloud 2
5 Web Services Web service is: A service available on the internet, that uses standard protocols for integration Service Internet [HTTP] Standard protocols 3
6 Architecture MVC client show data get data controller model dispatch view 1 view 2 view 3 View and model communicated through value objects Trivial server side code is embedded in views Views are still a mix of server & client code... 4
7 Architecture The problem with views Mixing server side code in view causes some serious problems: Value objects embedded in HTML It is never just HTML (CSS, Jscript ) What if client requires something else than HTML?? 5
8 Architecture The problem with views List of web frameworks that should help: Echo, Cocoon, Millstone, OXF, Struts, SOFIA, Tapestry, WebWork, RIFE, Spring MVC, Canyamo, Maverick, Jpublish, JATO, Folium, Jucas, Verge, Niggle, Bishop, Barracuda, Action Framework, Shocks, TeaServlet, wings, Expresso, Bento, jstatemachine, jzonic, OpenEmcee, Turbine, Scope, Warfare, JWAA, Jaffa, Jacquard, Macaw, Smile, MyFaces, Chiba, Jbanana, Jeenius, Jwarp, Genie, Melati, Dovetail, Cameleon, Jformular, Xoplon, Japple, Helma, Dinamica, WebOnSwing, Nacho, Cassandra, Baritus, Stripes, Click, GWT, Apache Wicket So many means that: none is really good enough maybe problems can t be solved with MVC 6
9 Architecture AJAX to the rescue View of classic architecture Web Server Browser HTML 1 HTTP Request HTML 2 HTTP Response CGI Engine 7
10 Architecture Moving to Single Page Applications (SPA) Using AJAX, web modules can focus on transferring data rather than view Client receives a single HTML loaded with Jscript functions & callbacks Jscript caller functions sends request data Jscript callback processes response and renders it to page Finally! Web modules input & output can be based on structured, self descriptive text formats Future non-html clients may use the same modules & data 8
11 Architecture Moving to single page applications MVC Model 2 Views are Generated on server side client show data controller dispatch get data model SERVER view 1 view 2 view 3 The new MVC Views are handled by the Client client. view Communication between client and server is data- based. SERVER request data controller model get data 9
12 Client MVC Client MVC frameworks View - <html> elements Model Javascript code that processes local and remote data On page load On event Controller Javascript infrastructure for synching data between Model and View 10
13 Client MVC Benefits Clear separation between UI and code views became very complex and modularity is needed Abstracted data liquidity Shortened AJAX code can be done in a single row! Leading frameworks AngularJS React 11
14 Client MVC Angular way: HTML Single Page Javasctipt ng-app HTML Fragment Javasctipt ng-controller HTML Fragment Javasctipt ng-controller HTML Fragment Javasctipt ng-controller HTML Fragment Javasctipt ng-controller Javasctipt ng-controller On page load On events 12
15 Architecture Future internet clients Phones & voice over IP networks Smart cards Chips Nanotechnology 13
16 Architecture Future internet clients The new MVC SERVER request view data controller model get data 14
17 RPC Architecture & Terms Remote Procedure Call Client invokes method on a Remote Object over a network Client obeys a contract which is the Remote Interface Remote object is a resource Remote method is a service In order to communicate both client & server uses sockets Socket communication is determined according to the remote interface Stub - Client side socket Skeleton server side socket that is used as a proxy to the remote object 15
18 RPC Architecture & Terms public int sum (int x, int y); User input is : 5, +, 6 Result is : 11 Remote Interface CLIENT stub out.writeutf( sum ); out x=out.writeint(5); out y=out.writeint(6); int result=in.readint(); skeleton SERVER get data String action=in.readutf(); int x=in.readint(); int y=in.readint(); out.write(ro.invoke(action,x,y)); Remote Object public int sum (int x, int y){ return x+y; } 16
19 RPC 2-tier vs. 3-tier RPC Container stub stub stub stub skeleton skeleton skeleton get data skeleton Container stub stub stub stub Remote Object RO Pool skeleton RO skeleton skeleton skeleton RO RO Manager RO 17
20 RPC XML for RPC SOAP Web Services XML SERVER CLIENT XML Request stub skeleton XML Response get data Remote Object 18
21 XML based Web Services XML based RPC (SOAP) Server WSDL Describes Service Client Application SOAP SKEL Layer Proxies 19
22 XML based Web Services SOAP over HTTP Request example HTTP 1.0 POST Host: Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI POST method - allows great amount of data upload SOAP Header that provides another checking mechanism <SOAP-ENV:Envelope xmlns:soap-env=" SOAP-ENV:encodingStyle=" <SOAP-ENV:Body> <m:getlasttradeprice xmlns:m="some-uri"> <symbol>dis</symbol> </m:getlasttradeprice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 20
23 Architecture XML vs. JSON What is JSON? Java Script Object Notation Also self-descriptive text based protocol Used for marshalling and un-marshalling Jscript objects { people : [ { name": David, age": 20 }, { name": Dana, age": 25 }, { name": Eve, age": 30 }, ] } 21
24 Architecture XML vs. JSON Why is it an alternative for XML? Better for small applications (like client side apps) No parsers are needed Contracts are less critical Light integration Jscript and Android developers prefers it Got popular APIs for binding, handling & presenting JSON based data 22
25 Architecture XML vs. JSON JAXB supports JSON as well Root class is denoted No schema is needed all adjustments are done with JAXB annotations JSON has no strong standards as XML (yet..) 23
26 Modern Integration Big data the challenge From single & concurrent to parallel & cloud computing Using NoSQL DB in addition to the classic relational DB Saving bandwidth & performance XML is a very inefficient protocol uses tags to wrap data XML forces the use of parsers HTTP Message SOAP is an additional protocol on top of HTTP HTTP headers HTTP body SOAP Message SOAP Envelope SOAP Header SOAP Body SOAP Elements SOAP Attachments 24
27 Just to get familiar with Java Web Modules Web app structure Static content Dynamic content WEB-INF & web.xml Servlets Life cycle Coding URL pattern Filters HttpServletRequest HttpSession ServletContext Main scopes Page Request Session Application WAR files 25
28 REST based Web Services REST REpresentational State Transfer is an HTTP based advanced RPC passing data in any format including XML, JSON and binary data REST can be counted as part of HTTP unlike SOAP which is a separate protocol 26
29 REST based Web Services HTTP for RPC Clients may use the following HTTP features in order to invoke a service: URI: Path can determine the endpoint class and even method Accept & Content-Type Headers: Used by the client to specify response MIME type service methods may result in different MIME types client call can be delegated to method that produces the MIME type it expects HTTP Method: GET, POST, DELETE, PUT, HEAD each method can be mapped to several HTTP-methods client call is delegated to the method matches client HTTP request method 27
30 REST based Web Services HTTP for RPC - RESTful Suggested way to implement business according to HTTP method HTTP Method Single element Collection GET Fetch an element from a collection Fetch the whole collection PUT Replace or create new element in a collection Override one collection with a new one POST Assign a value to an object Add new value to a collection DELETE Delete a specific element from a collection Delete the entire collection 28
31 REST based Web Services JAX-RS main Maps to URL pattern Mandatory on class level Optional on method level Maps to HTTP request method Used for RESTful Produces sets MIME type client requested to accept as part of the response Consumes sets MIME type client should sent as part of the request 29
32 REST based Web Services Building and publishing RESTful public class greet public String greet() public void addperson(person p) { } 30
33 REST based Web Services JAX-RS main annotations Sending simple parameters are passed as part of the URL Cannot be optional Support multiple params on each Parameters are passed as part of the request In GET parameters are part of the query string In POST parameters are placed in the request body Are optional to inject values when not sent by client 31
34 REST based Web Services Building and publishing RESTful public class greet public String greet(@defaultvalue( David user ) String name) sum/{num1}/{num2} ) public void sum((@pathparam( num1 ) int x, (@PathParam( num2 ) int y) { } 32
35 REST based Web Services Marshalling & public class MediaType.APPLICATION_JSON}) public Entry editentry(entry toedit) edit Clients may assign JSON/XML // entry public class Entry{ return e; private String name; } private String phone; private String cellphone; } public Entry(){} } 33
36 Configuring web.xml <?xml version="1.0" encoding="utf-8"?> WEB-INF\web.xml <web-app > <display-name>hello In Different Formats</display-name> <servlet> <servlet-name>jersey REST Service</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.servletcontainer</servlet-class> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>your.service.package.name</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>jersey REST Service</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app> 34
37 REST based Web Services Invoking via HTTP requests: Root Context, usually your project name The URL pattern to call Jersey servlet The name of the resource (service) 35
38 REST based Web Services Creating RESTful client Jersey offers simple client API get(..) / post(..) public class Test { / put(..) / delete(..) public static void main(string[] args) { ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); URI baseuri = UriBuilder.fromUri(" WebResource service = client.resource(baseuri ); // Get plain text System.out.println(service.path("rest").path("hello").accept(MediaType.TEXT_PLAIN).get(String.class)); // Get XML System.out.println(service.path("rest").path("hello").accept(MediaType.TEXT_XML).get(String.class)); // The HTML System.out.println(service.path("rest").path("hello").accept(MediaType.TEXT_HTML).get(String.class)); } 36
39 REST based Web Services Creating RESTful client Jersey client JAR Not part of JAX-RS standard (!) Can be easily used for unit testing via Junit or any other framework 37
40 REST based Web Services JAX-RS main annotations Lifecycle and CGI Services uses request scope by default Use Singleton annotation in order to set it to application Injects CJI objects: HttpServletRequest ServletContext 38
41 REST based Web Services Building and publishing public class Hello private HttpServletRequest private ServletContext ctx;. } 39
42 REST based Web Services Session management On server side simply inject HttpServletRequest Use req.getsession(..) in order to Obtain HttpSession instance Embed a session cookie Use session s attributes to hold user session state On client side you need to plant the session cookie on each request To do that we obtain all response cookies Then we place all cookies (including session cookie) on your request via builders 40
43 REST based Web Services Session management Server side Client public class StoreCart private HttpServletRequest req; public void startsession(){ HttpSession session = req.getsession(true); } ClientResponse resp = service.path( somepath").accept( ).get(clientresponse.class); WebResource wr=service.path( someotherpath"); WebResource.Builder builder=wr.getrequestbuilder(); for(cookie c:resp.getcookies()){ builder.cookie(c); } builder.accept( ); get response with session cookie build a request (WebResource) obtain Builder in order to update request load all cookies from response onto builder submit request via builder 41
44 REST Based Web Services Another popular implementation is SpringMVC Same architecture Different controller Similar annotations for REST mapping (not JAX-RS compliant) SpringBoot Allows to rapidly create Spring projects (based on Maven/Gradle) Provides SpringMVC with embedded Tomcat/Jetty configuration 42
45 REST Based Web Services Creating SpringMVC project with SpringBoot Just download Maven/Gradle project & import it to your working IDE 43
46 REST Based Web Services SpringBoot public class SampleController{ public static void main(string[] args) { SpringApplication.run(SampleController.class, args); { { Running this application will Start embedded Tomcat/Jetty Deploy all included services 44
47 REST Based Web Services Creating REST services wit SpringBoot : Main SpringMVC value means URLpatter method - GET/POST produces MediaType consumes @RequestBody 45
48 REST Based Web Services Creating REST services with SpringBoot public class greet/{user} ) public String greet(@pathvariable( user ) String name){ return Hello +name; } public static void main(string[] args) { SpringApplication.run(SampleController.class, args); { { Calling the service: 46
49 REST Based Web Services SpringBoot is very relevant for Microservices Most configuration is transparent Custom configuration: resources\application.properties resources\application.yml resources\bootstrap.yml Can be packed as standalone executable jar Maven install 47
50 Microservices Definition: Microservices is a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services (wiki) 48
51 Microservices Break application into small, fine-grained, standalone services Each services has its contract (interface) its own deployment settings Its own container / server instance(s) For new developments design for service For existing application - decompose 49
52 Microservices Hotels Domain Example: Hotel System & Storage roomav.war RoomAvailabilityService members customers members.war MembershipService payment.war PaymentService 50
53 Microservices Benefits: Each business component maintained separately Business flow based on services may use both internal and external business logic transparently Intensive releases and continuous developments are easier Integration mechanism is a non-issue Service may count on multiple alternative services for failover Service deployment, availability and maintainability can be automated via DevOps tools 51
54 Microservices Drawbacks: Intensive HTTP communication (still text based ) Going stateless? Not always and then what? 2-phase commit is not supported in any microservice so can t be used Higher costs each microservice comes with its infrastructure. When microservices span over different systems or divisions few challenges emerges: Team communication Need in good documentation Testing is hard when more than single service is involved 52
55 Microservices Best practices: Create separate data-store per microservice Provide global data management system Runs in the backgrounds Fixes data inconsistencies Update code by creating a new microservice Combine with version control Use separate builds for each service Run services in containers. Container is NOT a services Keep server configuration plain when administrating microservices Any complex configuration should be set internally by the server 53
56 Microservices Microservice Ecosystem minimal requirements Configuration server Loads the configuration information for all services Usually obtains info from a GIT repository Service discovery Responsible for maintaining a map of all active services Checks heartbeat every few seconds API Gateway Entry façade to the Microservice domain Proxies requests to actual services Circuit breaker Provides cross-service invocation tracking Supports failover executions Monitoring 54
57 55
58 Spring Cloud Written by Rony Keren John Bryce Training Center 56
59 Introduction provides tools for out-of-the-box Microservice platform solutions Built on Spring-boot & Spring MVC Provides both abstractions & implementations Allows rapidly wrap a micro-service with all / most important capabilities in order to integrate into Microservice ecosystems Done mostly via annotations Spring Cloud provides Cloud Native application style 57
60 Features Distributed/versioned configuration Service registration and discovery Routing Service-to-service calls Load balancing Circuit Breakers Global locks Leadership election and cluster state Distributed messaging 58
61 Projects Configuration server with GIT Netflix (Eureka, Hystrix, Zuul ) Cloud Bus Cloud Foundry (SSH & oauth2 support) Cloud Cluster (Zookeeper, Redis, Hazelcast, Consul) Cloud Data Flow (data composing) Cloud Stream (external resources Kafka & RabbitMQ) Cloud Zookeeper (service discovery) Cloud Gateway (based on Project Reactor programmatic routing) Load balancing - Ribbon 59
62 Spring Cloud Contexts Bootstrap application context o Is the absolute root context o Is the parent of the main application o Populates and shares environmental information (Environment) Bootstrap properties cannot be overridden by application Holds configuration info Configuration files: bootstrap.properties / bootstrap.yml (instead of application ) o Usually, loads remote configurations from Configuration Server ApplicationContext o Usually a direct sibling of Bootstrap Application Context Use parent() to obtain bootstrap from application context o By default, application configuration is used when not found in bootstrap 60
63 Spring Cloud Contexts Generally, client Microservices use bootstrap.yml / bootstrap.properties o Bootstrap configuration allows getting conf. info from a remote repository o Bootstrap context will help in generating service application context Bootstrap configuration holds local configuration as well o Used in a case where remote configuration is unavailable The process: Client-Microservice configuration-server GIT if config server not available: Client-Microservice local configuration 61
64 Spring Cloud + Netflix Common out-of-the-box solutions: Configuration server Service discovery - Eureka API gateway - Zuul Circuit breaker (load-balancing) Hystrix Monitoring Hystrix oauth2 support Zuul Client-side Load balancing - Ribbon 62
65 Configuration Server Serves externalized configuration in a distributed system Provides server and client-side support Default implementation uses GIT to download configuration info Config Server 63
66 Configuration Server Config Server Maven dependencies: dependency management takes care for the jar dependency chain pom.xml <dependencies> <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-config-server</artifactid> </dependency> </dependencies> <dependencymanagement> <dependencies> <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-dependencies</artifactid> <version>edgware.sr2</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencymanagement> 64
67 Configuration Server public class ConfigServer } public static void main(string[] args) } SpringApplication.run(ConfigServer.class, args); } } spring: cloud: config: server: git : uri: server: port: 9999 service-a.yml service-b.yml gateway-service.yml 9999 Config Server 65
68 Configuration Server Any service that uses Config-server will: Try to get *.yml / *.properties loaded from GIT If fails to connect to the Config-Server, uses its own local configuration service-a.yml service-b.yml gateway-service.yml service-a 9999 Config Server 66
69 Configuration Server Microservices are set to connect to config server or use local configuration 8001/7001 service-a bootstrap.yml spring: application: name: service-a cloud: config: uri: server: host: localhost port: MicroserviceA.java public class MicroserviceA } public static void main(string[] args) } SpringApplication.run(MicroserviceA.class, args); } } service-a.yml (port:8001) 9999 Config Server 67
70 Configuration Server Running multiple Microservice instances Assign zero value to port Configuration server randomizes values 9999 service-b.yml (port: 0 ) Config Server 68
71 Configuration Server Client Microservice Maven devendencies: pom.xml <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-starter-config</artifactid> </dependency> 69
72 Configuration Server Config Server test server configuration: Information is returned in JSON format 70
73 Service Discovery - Eureka Service discovery receives notifications from other services Maintains health & state service-b 8002 service-a.yml (port:8001) service-b.yml (port: 8002) service-a Config Server 2000 Discovery service 71
74 Service Discovery - Eureka Enabling Eureka discovery service in Spring Boot Discovery public class DiscoverServerApplication { public static void main(string[] args) { SpringApplication.run(DiscoverServerApplication.class, args); } } application.yml server: port:
75 Service Discovery - Eureka Eureka clients are o Our Microservices o Eureka client embedded client (requires URL configuration) Discovery server may be configured as: o Instance & Client default Runs continues intensive checks with embedded client o Instance maintains available Microservices client list 2000 Discovery service application.yml eureka: client: registerwitheureka: false fetchregistry: false service-url: defaultzone: server: port: 2000 Configuration: 73
76 Service Discovery - Eureka Discovery server Maven dependencies: pom.xml <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-netflix-eureka-server</artifactid> </dependency> 74
77 Service Discovery - Eureka Microservices register to Discovery service o Configuration (local and/or on GIT): service-a.yml & service-b.yml service-b 8002 service-a Discovery service server: port:. eureka: client: serviceurl: public class MicroserviceA } public static void main(string[] args) } SpringApplication.run(MicroserviceA.class, args); } } is more generic and supported by does the same but is supported only by Eureka 75
78 Service Discovery - Eureka Client Microservice discovery enabling Maven dependencies: pom.xml <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-starter-eureka</artifactid> </dependency> 76
79 Service Discovery - Eureka After starting discovery server we can monitor running services MICROSERVICE-A Admin-PC Microservice-A7001 MICROSERVICE-B Admin-PC Microservice-B:
80 API Gateway - Zuul Spring Cloud provides an Embedded Zuul proxy o Acts as API Gateway 78
81 API Gateway - Zuul Gateway server Zuul Maven dependencies: pom.xml <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-starter-zuul</artifactid> </dependency> <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-starter-eureka</artifactid> </dependency> <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-starter-config</artifactid> </dependency> 79
82 API Gateway - Zuul Spring Cloud provides an Embedded Zuul proxy o Acts as API Gateway 80
83 API Gateway - Zuul When starting Gateway server it: o downloads configuration from Config Server (port 8080) Port (8080) Note: discovery server registration info Zuul uses LOWER-CASE proxy names regardless o Queries Discovery Server for all running services actual application name as specified in bootstrap.yml o Before running Gateway: e.g: service-a is tracked via service-a o After running Gateway services also available on: service-a.yml service-b.yml 81
84 API Gateway - Zuul Zuul uses Ribbon implementation o Ribbon is used for load-balancing when multiple Microservice instances exists o Default load-balance algorithm is Round-Robin Currently, we can run multiple instance but only one will be discovered by Eureka o This is because our instances registers to Eureka with the same instance Id o Eureka keeps track of the last instance and ignores all others. o Later we will solve this issue by assigning different instance Id to Eureka 82
85 Circuit Breaker Hystrix Hystrix implements Circuit breaker DP o Tracks requests o Cancel policy (5 failures in 20 sec.) In cases a running Microservice has slow responses o Failover to another Microservice X to alternative callback X 83
86 Circuit Breaker Hystrix Circuit Breaker is configured on @EnableCircuitBreaker public class MicroserviceA { public static void main(string[] args) } SpringApplication.run(MicroserviceA.class, args); } class public RestTemplate testtemplate(){ return new RestTemplate(); } } Circuit Breaker service-a puts all resource activity on a Ribbon Circuit Breaker works on load balanced resources only (but not vice versa) 84
87 Circuit Breaker Hystrix Client Microservice Hystrix circuit breaker Maven dependencies: pom.xml <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-starter-hystrix</artifactid> </dependency> 85
88 Circuit Breaker Hystrix Using load-balanced resources: defines failover callback & meta data o URL is resolved by Gateway Server ( /service-b/ private RestTemplate = "fallback", groupkey = srva", commandkey = srva", threadpoolkey = public String method() { String url = " return resttemplate.getforobject(url, String.class); { public String fallback(throwable hystrixcommand) { return "Fall Back Message"; { X Note: Pay attention to the fact that we use a URL without mentioning its host:port Hystrix counts on information taken from Config & Discovery and maintains a valid server-list 86
89 Monitoring Hystrix Dashboard Hystrix commands are gathered Command can be monitored via Hystrix Dashboard In most cases Dashboard is enabled on Gateway Server Denote service to enable Tracks all endpoints in a Microservice o Success, failure, short-circuited, timed-out o Execution time o @SpringBootApplication public class GatewayApplication } public static void main(string[] args) } SpringApplication.run(GatewayAplication.class, args); } } 87
90 Monitoring Hystrix Dashboard Gateway / client Microservice Hystrix dashboard Maven dependencies: pom.xml <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-starter-hystrixdashboard</artifactid> </dependency> 88
91 Monitoring Hystrix Dashboard Logging to Hystrix Dashboard on running service o On Gateway Server : 89
92 Monitoring Hystrix Dashboard In order to monitor all Microservice endpoints specify its location and press Start Monitor o Location ends with /hystrix.stream o (Gateway URL) 90
93 Client Side Load Balancing Spring Cloud Ribbon o Ribbon maintains load-balancing for domain-intra-communication Tracks living instances & ignores failed instances Maintains valid available server list Can be fully configured both programmatically & via configuration files Can be easily wrap any RestTemplate activity done from one Microservice to another Round-robin is used by default Dashboard Load Balancer service-a 8001 service-b 0 91
94 Client Side Load Balancing For load-balancing multiple service-b instances should be running o Random ports by assigning zero value allows multiple instances on the same host o Problem is that Eureka uses <application-name>:<port> as default instance ID These values are the same for every service-b instance: service-b:0 o In order to provide each instance a unique name edit service-b.yml on GIT: service-b.yml server: port:. eureka: instance: instanceid: ${spring.application.name}:${spring.application.instance_id:${random.valu e}} service-b 0 client: serviceurl: defaultzone: 92
95 Client Side Load Balancing Monitoring instances in Eureka: 93
96 Client Side Load Balancing Spring Cloud Ribbon Load Balancer & Hystrix Circuit Breaker o Ribbon is for load balancing o Hystrix is for circuit breaker Gateway & client load balancing uses ribbon Any load balanced call may use circuit breaker as well How this combination behaves? 94
97 Client Side Load Balancing We can already enjoy load-balancing by denoting resttemplate A much cleaner & rapid way is to use Feign Clients which load-balance natively declarative rest client generation Generates RestTemplate based implementation Wraps RestTemplate with client load-balancing ribbon Uses URL or logical (proxy) names as base client URL o Feign Clients can be reused by different Microservices o Note: Zuul already uses ribbon. in addition to ribbon-load-balancer for adding Circuit-breaking capabilities 95
98 Client Side Load Balancing Client Microservice Ribbon Feign Starter Maven dependencies: pom.xml <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-starter-feign</artifactid> </dependency> 96
99 Client Side Load Balancing Spring Cloud public interface ServiceBFeignClient String method(); public class private ServiceBFeignClient client; } When calling microservice-b calls ( are public String callserviceb(){ return public class MicroserviceA{ 97
100 Client Side Load Balancing Ribbon can be totally configured by creating RibbonConfigurations What can be set? Bean Type Bean Name Class Name IClientConfig ribbonclientconfig DefaultClientConfigImpl IRule ribbonrule ZoneAvoidanceRule IPing ribbonping DummyPing ServerList<Server> ribbonserverlist ConfigurationBasedServerList ServerListFilter<Server> ribbonserverlistfilter ZonePreferenceServerListFilter ILoadBalancer ribbonloadbalancer ZoneAwareLoadBalancer ServerListUpdater ribbonserverlistupdater PollingServerListUpdater 98
101 Client Side Load Balancing Creating Ribbon protected static class FooConfiguration public ZonePreferenceServerListFilter serverlistfilter() { ZonePreferenceServerListFilter filter = new ZonePreferenceServerListFilter(); filter.setzone(."); return filter; } public IPing ribbonping() { return new CustomPingUrl(); } 99
102 Spring Cloud Microservice Ecosystem 100
103 101
Java - Web-Services and REST
Java - Web-Services and REST Rony Keren rkeren@johnbryce.co.il Topics Definition Architecture SPA Single Page Applications RPC Remote Procedure Call REST Based Web Services HTTP based RPC JAX-RS Jersey
More informationWhat is Spring Cloud
What is Spring Cloud 1 What is Spring Cloud Service Discovery (Eureka) API Gateway (Zuul) Config Server (Spring Config) Circuit Breaker (Hystrix, Turbine) Client Side Load-balancing (Ribbon) Distributed
More informationMicroservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff
Microservices mit Java, Spring Boot & Spring Cloud Eberhard Wolff Fellow @ewolff What are Microservices? Micro Service: Definition > Small > Independent deployment units > i.e. processes or VMs > Any technology
More informationDevGeekWeek ביוני 2017 מלון דניאל, הרצליה
DevGeekWeek 2017 18-22 ביוני 2017 מלון דניאל, הרצליה 09:00 08:00 רישום וארוחת בוקר 10:30 09:00 הרצאות סמינרים 10:45 10:30 הפסקה 12:30 10:45 הרצאות סמינרים 13:30 12:30 ארוחת צהריים 15:00 13:30 הרצאות סמינרים
More informationSpring Cloud, Spring Boot and Netflix OSS
Spring Cloud, Spring Boot and Netflix OSS Spencer Gibb twitter: @spencerbgibb email: sgibb@pivotal.io Dave Syer twitter: @david_syer email: dsyer@pivotal.io (Spring Boot and Netflix OSS or Spring Cloud
More informationSPRING CLOUD AGIM EMRULI - MIMACOM
SPRING CLOUD AGIM EMRULI - MIMACOM AGIM EMRULI @AEMRULI AEMRULI AGIM.EMRULI@ MIMACOM.COM XD BOOT GRAILS CLOUD IO EXECUTION STREAMS, TAPS, JOBS FULL STACK, WEB SERVICE REGISTRY, CIRCUIT BREAKER, METRICS
More informationFour times Microservices: REST, Kubernetes, UI Integration, Async. Eberhard Fellow
Four times Microservices: REST, Kubernetes, UI Integration, Async Eberhard Wolff @ewolff http://ewolff.com Fellow http://continuous-delivery-buch.de/ http://continuous-delivery-book.com/ http://microservices-buch.de/
More informationSAMPLE CHAPTER. John Carnell MANNING
SAMPLE CHAPTER John Carnell MANNING Spring Microservices in Action by John Carnell Sample Chapter 6 Copyright 2017 Manning Publications brief contents 1 Welcome to the cloud, Spring 1 2 Building microservices
More informationMicroservices Implementations not only with Java. Eberhard Wolff Fellow
Microservices Implementations not only with Java Eberhard Wolff http://ewolff.com @ewolff Fellow http://continuous-delivery-buch.de/ http://continuous-delivery-book.com/ http://microservices-buch.de/ http://microservices-book.com/
More informationCADEC 2016 MICROSERVICES AND DOCKER CONTAINERS MAGNUS LARSSON
CADEC 2016 MICROSERVICES AND DOCKER CONTAINERS MAGNUS LARSSON 2016-01-27 CALLISTAENTERPRISE.SE AGENDA Microservices in reality - Managing a system landscape with many microservices - Very little high level
More informationתוכנית יומית לכנס: התכנסות וארוחת בוקר הפסקה קצרה של קפה ארוחת צהרים הפסקה מתוקה
תוכנית יומית לכנס: התכנסות וארוחת בוקר הרצאה הפסקה קצרה של קפה הרצאה ארוחת צהרים הרצאה הפסקה מתוקה הרצאה 08:00-09:00 09:00-10:30 10:30-10:45 10:45-12:30 12:30-13:30 13:30-15:00 15:00-15:15 15:15-16:30
More informationתוכנית יומית לכנס התכנסות וארוחת בוקר
תוכנית יומית לכנס התכנסות וארוחת בוקר 08:00-09:00 הרצאה הפסקה ראשונה הרצאה ארוחת צהריים הרצאה הפסקה מתוקה -09:00-10:30-10:30-10:45-10:45-12:30-12:30-13:30-13:30-15:00-15:00-15:15 הרצאה 15:15-16:30 לפרטים
More informationTools for Accessing REST APIs
APPENDIX A Tools for Accessing REST APIs When you have to work in an agile development environment, you need to be able to quickly test your API. In this appendix, you will learn about open source REST
More informationJava J Course Outline
JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The
More informationImplementing Microservices Tracing with Spring Cloud and Zipkin
Implementing Microservices Tracing with Spring Cloud and Zipkin Marcin Grzejszczak, @mgrzejszczak 1 2017 Pivotal About me Spring Cloud developer at Pivotal Working mostly on Spring Cloud Sleuth Spring
More informationUpgrading to Spring Boot 2.0
APPENDIX A Upgrading to Spring Boot 2.0 Introduction This book uses the Spring Boot version 1.5.7 for the different microservices that are part of the evolving application. Spring Boot 2.0, which is to
More informationתוכנית יומית לכנס התכנסות וארוחת בוקר
תוכנית יומית לכנס התכנסות וארוחת בוקר 08:00-09:00 הרצאה הפסקה ראשונה הרצאה ארוחת צהריים הרצאה הפסקה מתוקה -09:00-10:30-10:30-10:45-10:45-12:30-12:30-13:30-13:30-15:00-15:00-15:15 הרצאה 15:15-16:30 לפרטים
More informationתוכנית יומית לכנס התכנסות וארוחת בוקר
תוכנית יומית לכנס התכנסות וארוחת בוקר 08:00-09:00 הרצאה הפסקה ראשונה הרצאה ארוחת צהריים הרצאה הפסקה מתוקה -09:00-10:30-10:30-10:45-10:45-12:30-12:30-13:30-13:30-15:00-15:00-15:15 הרצאה 15:15-16:30 לפרטים
More information5.1 Registration and Configuration
5.1 Registration and Configuration Registration and Configuration Apache Wink provides several methods for registering resources and providers. This chapter describes registration methods and Wink configuration
More informationExercise for OAuth2 security. Andreas Falk
Exercise for OAuth2 security Andreas Falk Table of Contents 1. What we will build....................................................................... 1 2. Step 1....................................................................................
More informationCloud Native Architecture 300. Copyright 2014 Pivotal. All rights reserved.
Cloud Native Architecture 300 Copyright 2014 Pivotal. All rights reserved. Cloud Native Architecture Why What How Cloud Native Architecture Why What How Cloud Computing New Demands Being Reactive Cloud
More informationSession 24. Spring Framework Introduction. Reading & Reference. dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p
Session 24 Spring Framework Introduction 1 Reading & Reference Reading dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p http://engineering.pivotal.io/post/must-know-spring-boot-annotationscontrollers/
More information2 Apache Wink Building Blocks
2 Apache Wink Building Blocks Apache Wink Building Block Basics In order to take full advantage of Apache Wink, a basic understanding of the building blocks that comprise it and their functional integration
More informationIntroduction to Spring Framework: Hibernate, Spring MVC & REST
Introduction to Spring Framework: Hibernate, Spring MVC & REST Training domain: Software Engineering Number of modules: 1 Duration of the training: 36 hours Sofia, 2017 Copyright 2003-2017 IPT Intellectual
More informationJAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP
2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries
More informationSession 12. RESTful Services. Lecture Objectives
Session 12 RESTful Services 1 Lecture Objectives Understand the fundamental concepts of Web services Become familiar with JAX-RS annotations Be able to build a simple Web service 2 10/21/2018 1 Reading
More informationIntroduction to Spring 5, Spring MVC and Spring REST
Introduction to Spring 5, Spring MVC and Spring REST Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend
More informationApache Wink User Guide
Apache Wink User Guide Software Version: 0.1 The Apache Wink User Guide document is a broad scope document that provides detailed information about the Apache Wink 0.1 design and implementation. Apache
More informationRESTful -Webservices
International Journal of Scientific Research in Computer Science, Engineering and Information Technology RESTful -Webservices Lalit Kumar 1, Dr. R. Chinnaiyan 2 2018 IJSRCSEIT Volume 3 Issue 4 ISSN : 2456-3307
More informationService Mesh with Istio on Kubernetes. Dmitry Burlea Software FlixCharter
Service Mesh with Istio on Kubernetes Dmitry Burlea Software Developer @ FlixCharter Road to Microservices Monolith (all-in-one) Road to Microservices Images from http://amazon.com/ Road to Microservices
More informationJVA-563. Developing RESTful Services in Java
JVA-563. Developing RESTful Services in Java Version 2.0.1 This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop
More informationDeveloper Experience with. Spencer Gibb, Dave Syer, Spring Cloud
Developer Experience with Spencer Gibb, Dave Syer, 2015 Spring Cloud Authors Spencer Gibb, @spencerbgibb, sgibb@pivotal.io Dave Syer, @david_syer, dsyer@pivotal.io Developer Experience Microservices lead
More informationMigrating traditional Java EE applications to mobile
Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16
More informationCS506 Web Design & Development Final Term Solved MCQs with Reference
with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar
More informationOverview of Web Application Development
Overview of Web Application Development Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Web Apps 2018 1 / 34 Table of Contents Overview Architecture 1 Overview
More informationDeveloper: Chaithanya Krishna Gogineni Graduate Teaching Assistant Software Engineering Computer Science Department Northern Illinois University
Developer: Chaithanya Krishna Gogineni Graduate Teaching Assistant Software Engineering Computer Science Department Northern Illinois University DeKalb, Illinois. www.chaithanyagogineni.com 1.Requirements
More informationPractice 2. SOAP & REST
Enterprise System Integration Practice 2. SOAP & REST Prerequisites Practice 1. MySQL and JPA Introduction JAX-WS stands for Java API for XML Web Services. JAX-WS is a technology for building web services
More informationModule 3 Web Component
Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session
More informationApache Wink Developer Guide. Draft Version. (This document is still under construction)
Apache Wink Developer Guide Software Version: 1.0 Draft Version (This document is still under construction) Document Release Date: [August 2009] Software Release Date: [August 2009] Apache Wink Developer
More informationDesarrollo de Aplicaciones Web Empresariales con Spring 4
Desarrollo de Aplicaciones Web Empresariales con Spring 4 Referencia JJD 296 Duración (horas) 30 Última actualización 8 marzo 2018 Modalidades Presencial, OpenClass, a medida Introducción Over the years,
More informationJava SE7 Fundamentals
Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various
More informationSpring Web Services Tutorial With Example In
Spring Web Services Tutorial With Example In Eclipse Bottom Up In addition to creating a basic web service and client, the article goes a step further This article will be using the Eclipse IDE (Kepler),
More informationCheat Sheet: Wildfly Swarm
Cheat Sheet: Wildfly Swarm Table of Contents 1. Introduction 1 5.A Java System Properties 5 2. Three ways to Create a 5.B Command Line 6 Swarm Application 1 5.C Project Stages 6 2.A Developing a Swarm
More informationREST WEB SERVICES IN JAVA EE 6 AND SPRING 3. Srini Penchikala Austin Java User Group March 30, 2010
REST WEB SERVICES IN JAVA EE 6 AND SPRING 3 Srini Penchikala Austin Java User Group March 30, 2010 ABOUT THE SPEAKER Security Architect Certified SCRUM Master Writer, Editor (InfoQ) Detroit Java User Group
More informationApplication Design and Development: October 30
M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact
More informationPSD1B Advance Java Programming Unit : I-V. PSD1B- Advance Java Programming
PSD1B Advance Java Programming Unit : I-V PSD1B- Advance Java Programming 1 UNIT I - SYLLABUS Servlets Client Vs Server Types of Servlets Life Cycle of Servlets Architecture Session Tracking Cookies JDBC
More informationFull Stack boot camp
Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building
More informationExercise SBPM Session-4 : Web Services
Arbeitsgruppe Exercise SBPM Session-4 : Web Services Kia Teymourian Corporate Semantic Web (AG-CSW) Institute for Computer Science, Freie Universität Berlin kia@inf.fu-berlin.de Agenda Presentation of
More informationJAVA. 1. Introduction to JAVA
JAVA 1. Introduction to JAVA History of Java Difference between Java and other programming languages. Features of Java Working of Java Language Fundamentals o Tokens o Identifiers o Literals o Keywords
More informationIBM WebSphere Application Server 8. Java EE 6 Feature Packs
IBM WebSphere Application Server 8 EE 6 Feature Packs Thomas Bussière- bussiere@fr.ibm.com IT Architect Business Solution Center La Gaude, France Enabling Developers to Start With Open Source/Community
More informationHttpServlet ( Class ) -- we will extend this class to handle GET / PUT HTTP requests
What is the servlet? Servlet is a script, which resides and executes on server side, to create dynamic HTML. In servlet programming we will use java language. A servlet can handle multiple requests concurrently.
More informationFast Track to Java EE
Java Enterprise Edition is a powerful platform for building web applications. This platform offers all the advantages of developing in Java plus a comprehensive suite of server-side technologies. This
More informationApache Wink 0.1 Feature Set
Apache Wink 0.1 Feature Set Software Version: 0.1 [The Wink REST Runtime Feature Set internal draft document is a broad scope document that provides detailed information about the Runtime strategy and
More informationMastering Spring MVC 3
Mastering Spring MVC 3 And its @Controller programming model Get the code for the demos in this presentation at http://src.springsource.org/svn/spring-samples/mvc-showcase 2010 SpringSource, A division
More informationWebServices the New Era
WebServices the New Era Introduction to WebServices Standards of WebServices Component Architecture WebServices Architecture SOAP WSDL UDDI Tools and Technologies of WebServices An example of WebServices
More informationComprehensive AngularJS Programming (5 Days)
www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop
More informationProgramming Web Services in Java
Programming Web Services in Java Description Audience This course teaches students how to program Web Services in Java, including using SOAP, WSDL and UDDI. Developers and other people interested in learning
More informationOracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)
Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how
More informationWeb Service and JAX-RS. Sadegh Aliakbary
Web Service and Sadegh Aliakbary Agenda What Are RESTful Web Services? Standard Restful Design and API Elements Building Simple Web-Services 2 Web Services: Definition (W3C) A Web service is: A software
More informationSpring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics
Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.
More informationTo Microservices and Beyond!
To Microservices and Beyond! YOW! Conference 2014 Matt Stine (@mstine) - Senior Product Manager, Spring for Pivotal CF Simon Elisha (@simon_elisha) - CTO & Senior Manager, Field Engineering 1 M!CR0S3RV!C3$!!!!!
More informationMODERN APPLICATION ARCHITECTURE DEMO. Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift
MODERN APPLICATION ARCHITECTURE DEMO Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift COOLSTORE APPLICATION COOLSTORE APPLICATION Online shop for selling products Web-based polyglot
More informationIntroduction to Spring Framework: Hibernate, Web MVC & REST
Introduction to Spring Framework: Hibernate, Web MVC & REST Course domain: Software Engineering Number of modules: 1 Duration of the course: 50 hours Sofia, 2017 Copyright 2003-2017 IPT Intellectual Products
More informationWriting Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.
Preface p. xiii Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. 11 Creating the Deployment Descriptor p. 14 Deploying Servlets
More informationC exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.
C9510-319.exam Number: C9510-319 Passing Score: 800 Time Limit: 120 min File Version: 1.0 IBM C9510-319 IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile Version: 1.0 Exam A QUESTION
More informationSoftware Engineering
Software Engineering Lecture 11: Physical Design Components and Middleware Peter Thiemann University of Freiburg, Germany SS 2014 Distributed Applications Basic choices Architecture Client/Server architecture
More informationEvaluation Guide for ASP.NET Web CMS and Experience Platforms
Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:
More informationWeb Services Development for IBM WebSphere Application Server V7.0
000-371 Web Services Development for IBM WebSphere Application Server V7.0 Version 3.1 QUESTION NO: 1 Refer to the message in the exhibit. Replace the??? in the message with the appropriate namespace.
More informationJava- EE Web Application Development with Enterprise JavaBeans and Web Services
Java- EE Web Application Development with Enterprise JavaBeans and Web Services Duration:60 HOURS Price: INR 8000 SAVE NOW! INR 7000 until December 1, 2011 Students Will Learn How to write Session, Message-Driven
More informationMobile Computing. Logic and data sharing. REST style for web services. Operation verbs. RESTful Services
Logic and data sharing Mobile Computing Interface Logic Services Logic Data Sync, Caches, Queues Data Mobile Client Server RESTful Services RESTful Services 2 REST style for web services REST Representational
More informationDeveloping Applications with Java EE 6 on WebLogic Server 12c
Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need
More informationSpring Interview Questions
Spring Interview Questions By Srinivas Short description: Spring Interview Questions for the Developers. @2016 Attune World Wide All right reserved. www.attuneww.com Contents Contents 1. Preface 1.1. About
More informationWeb-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology
Web-APIs Examples Consumer Technology Cross-Domain communication Provider Technology Applications Blogs and feeds OpenStreetMap Amazon, Ebay, Oxygen, Magento Flickr, YouTube 3 more on next pages http://en.wikipedia.org/wiki/examples_of_representational_state_transfer
More informationIntroduction to JSP and Servlets Training 5-days
QWERTYUIOP{ Introduction to JSP and Servlets Training 5-days Introduction to JSP and Servlets training course develops skills in JavaServer Pages, or JSP, which is the standard means of authoring dynamic
More informationCourse Content for Java J2EE
CORE JAVA Course Content for Java J2EE After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? PART-1 Basics & Core Components Features and History
More informationJ2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.
J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using
More informationADVANCED JAVA COURSE CURRICULUM
ADVANCED JAVA COURSE CURRICULUM Index of Advanced Java Course Content : 1. Basics of Servlet 2. ServletRequest 3. Servlet Collaboration 4. ServletConfig 5. ServletContext 6. Attribute 7. Session Tracking
More informationSERVICE TECHNOLOGIES
SERVICE TECHNOLOGIES Exercises 3 16/04/2014 Valerio Panzica La Manna valerio.panzicalamanna@polimi.it http://servicetechnologies.wordpress.com/exercises/ REST: Theory Recap REpresentational State Transfer
More informationMicroservices. Are your Frameworks ready? Martin Eigenbrodt Alexander Heusingfeld
Microservices Are your Frameworks ready? Martin Eigenbrodt martin.eigenbrodt@innoq.com Alexander Heusingfeld alexander.heusingfeld@innoq.com Microservices? Levels of Architecture Domain architecture Macro
More informationRESTful Java with JAX-RS
RESTful Java with JAX-RS Bill Burke TECHMiSCHE INFORMATIO N SEIBLIOTH EK UNIVERSITATSBiBLIQTHEK HANNOVER O'REILLY Beijing Cambridge Farnham Koln Sebastopol Taipei Tokyo Table of Contents Foreword xiii
More informationRestful Application Development
Restful Application Development Instructor Welcome Currently a consultant in my own business and splitting my time between training and consulting. Rob Gance Assist clients to incorporate Web 2.0 technologies
More informationAPI Documentation. Web Application Development. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) API Documentation / 28
API Documentation Web Application Development Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) API Documentation 2018 1 / 28 Data Transfer Object Data Transfer Objects Bean Information
More informationThe Now Platform Reference Guide
The Now Platform Reference Guide A tour of key features and functionality START Introducing the Now Platform Digitize your business with intelligent apps The Now Platform is an application Platform-as-a-Service
More informationWSO2 Platform Offerings for Developers
WSO2 Platform Offerings for Developers Version 1.1 (February 03, 2014) Table of Contents Application Development... 03 Jaggery for JavaScript-Based Web and REST Style Applications... 03 Tooling for Development...
More informationDVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER
DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER J2EE CURRICULUM Mob : +91-9024222000 Mob : +91-8561925707 Email : info@dvswebinfotech.com Email : hr@dvswebinfotech.com 48, Sultan Nagar,Near Under
More informationJVA-117E. Developing RESTful Services with Spring
JVA-117E. Developing RESTful Services with Spring Version 4.1 This course enables the experienced Java developer to use the Spring MVC framework to create RESTful web services. We begin by developing fluency
More informationJava Training Center, Noida - Java Expert Program
Java Training Center, Noida - Java Expert Program Database Concepts Introduction to Database Limitation of File system Introduction to RDBMS Steps to install MySQL and oracle 10g in windows OS SQL (Structured
More informationService-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA) SOA is a software architecture in which reusable services are deployed into application servers and then consumed by clients in different applications or business processes.
More informationSOAP Introduction Tutorial
SOAP Introduction Tutorial Herry Hamidjaja herryh@acm.org 1 Agenda Introduction What is SOAP? Why SOAP? SOAP Protocol Anatomy of SOAP Protocol SOAP description in term of Postal Service Helloworld Example
More informationBuilding modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek
Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek @wrzodek Roche Group Penzberg Founded 1896 in Basel, Switzerland Employing > 82,000 people Clear focus
More informationStandards and the Portals Project
Standards and the Portals Project Carsten Ziegeler cziegeler@apache.org Competence Center Open Source S&N AG, Germany Member of the Apache Software Foundation Committer in some Apache Projects Cocoon,
More informationFull Stack Developer with Java
Full Stack Developer with Java Full Stack Developer (Java) MVC, Databases and ORMs, API Backend Frontend Fundamentals - HTML, CSS, JS Unit Testing Advanced Full Stack Developer (Java) UML, Distributed
More informationInvoking Web Services. with Axis. Web Languages Course 2009 University of Trento
Invoking Web Services with Axis Web Languages Course 2009 University of Trento Lab Objective Refresh the Axis Functionalities Invoke Web Services (client-side) 3/16/2009 Gaia Trecarichi - Web Languages
More informationSUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional
SUN 311-232 Java Platform Enterprise Edition 6 Web Services Developer Certified Professional Download Full Version : http://killexams.com/pass4sure/exam-detail/311-232 QUESTION: 109 What are three best
More informationGaurav Rai Mazra. Senior Software Developer
Gaurav Rai Mazra Senior Software Developer A technology enthusiast and conscientious programmer with over 6 years of experience in multi - disciplinary domains such as HR, Education, Financial (Asset Management)
More informationSoftware Design COSC 4353/6353 DR. RAJ SINGH
Software Design COSC 4353/6353 DR. RAJ SINGH Outline What is SOA? Why SOA? SOA and Java Different layers of SOA REST Microservices What is SOA? SOA is an architectural style of building software applications
More informationCOPYRIGHTED MATERIAL
Introduction xxiii Chapter 1: Apache Tomcat 1 Humble Beginnings: The Apache Project 2 The Apache Software Foundation 3 Tomcat 3 Distributing Tomcat: The Apache License 4 Comparison with Other Licenses
More informationSession 25. Spring Controller. Reading & Reference
Session 25 Spring Controller 1 Reading Reading & Reference www.tutorialspoint.com/spring/spring_web_mvc_framework.htm https://springframework.guru/spring-requestmapping-annotation/ Reference Spring home
More informationIndex. Combined lifecycle strategy, annotation, 93 ContentNegotiatingViewResolver, 78
Index A Action phase, 154 AJAX (asynchronous JavaScript and XML), 229 communication flow, 230 components, 156 custom tags, 250 functions, 229 GET and POST requests, 233 jquery, 233, 236 AJAX calls, 243
More informationSession 9. Introduction to Servlets. Lecture Objectives
Session 9 Introduction to Servlets Lecture Objectives Understand the foundations for client/server Web interactions Understand the servlet life cycle 2 10/11/2018 1 Reading & Reference Reading Use the
More information