Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2014 Pre-MSc-IS-2 Infrastructure

andreasmartin
September 11, 2014

2014 Pre-MSc-IS-2 Infrastructure

Programme: Master of Science in Business Information Systems FHNW
Course: Pre-Master Information Systems
Topic: Infrastructure

andreasmartin

September 11, 2014
Tweet

More Decks by andreasmartin

Other Decks in Programming

Transcript

  1. Andreas Martin - Page 1 Master of Science in Business

    Information Systems FHNW Pre-Master Information Systems 2. Infrastructure Andreas Martin 2. Infrastructure http://www.flickr.com/photos/muhe-e/2895256535
  2. Andreas Martin - Page 2 Infrastructure / Toolset  Development

    Environment: Eclipse IDE for Java EE Developers & JBoss Tools  Application Server: JBoss 7 AS  Build-Management-Software: Maven  Database: MySQL  Modelling Tool: Visual Paradigm for UML 2. Infrastructure
  3. Andreas Martin - Page 3 Eclipse IDE for Java EE

    Developers & JBoss Tools 2. Infrastructure
  4. Andreas Martin - Page 4 Eclipse IDE for Java EE

    Developers & JBoss Tools 2. Infrastructure
  5. Andreas Martin - Page 6 JBoss 7 AS – What

    is an Application Server? 2. Infrastructure
  6. Andreas Martin - Page 7 HTTP (Web) Server vs. Servlet

    Container vs. Application Server  A HTTP (Web) server is manly used to host websites.  Some HTTP (Web) servers can execute compiled modules which extend the core functionalities:  e.g. server-side programming language modules (like PHP, Perl, Phyton etc.)  One prominent example: 2. Infrastructure Apache HTTP Server
  7. Andreas Martin - Page 8 HTTP (Web) Server vs. Servlet

    Container vs. Application Server  A servlet container executes Java Servlets.  Most servlet containers out there executes Java Server Pages (JSP) too.  Pure servlet container: 2. Infrastructure Apache Tomcat Jetty – Eclipse Foundation
  8. Andreas Martin - Page 9 Application Server  Usually an

    application server runs a generalized framework (e.g. Java EE).  Popular Java EE Application Servers: 2. Infrastructure WildFly (JBoss AS) Apache TomEE + = GlassFish IBM WebSphere Oracle Weblogic
  9. Andreas Martin - Page 10 HTTP (Web) Server vs. Servlet

    Container vs. Application Server 2. Infrastructure HTTP (Web) Server Website hosting Servlet Container Website hosting Java Servlets (& JSP) Extended Servlet Container Website hosting Java Servlets (& JSP) Deployed Framework (e.g. Spring, CXF, Java EE) Application Server Website hosting Java Servlets (& JSP) Generalized Framework (e.g. Java EE) Application level services (e.g. Connection Pooling, Object Pooling, Transaction Support, Messaging services)
  10. Andreas Martin - Page 12 Maven A software project management

    and comprehension tool. 2. Infrastructure
  11. Andreas Martin - Page 13 Definition  Apache Maven is

    a software project management and comprehension tool.  Based on the concept of a project object model (POM)  Maven can manage a project's build, binaries, reporting and documentation from a central piece of information. Source and licensing: Arnaud Héritier 2010 – Apache Maven - http://www.slideshare.net/aheritier/20110303-e-xovnapachemaven 2. Infrastructure
  12. Andreas Martin - Page 14 Conventions  1 project =

    1 artefact (pom, jar, war, ear, …)  Standardized  project descriptor (POM)  build lifecycle  directories layout  *.java to compile in src/[main|test]/java  *.xml, *.properties needed in classpath and to bundle in archive in src/[main|test]/resources  target directory for generated stuffs (sources, classes, …)  … Source and licensing: Arnaud Héritier 2010 – Apache Maven - http://www.slideshare.net/aheritier/20110303-e-xovnapachemaven 2. Infrastructure
  13. Andreas Martin - Page 15 POM  An XML file

    (pom.xml)  Describing  Project identification  Project version  Project description  Build settings  Dependencies  … <?xml version="1.0" encoding="UTF-8"?> <project> <modelVersion>4.0.0</modelVersion> <groupId>net.aheritier.samples</groupId> <artifactId>simple-webapp</artifactId> <version>1.1-SNAPSHOT</version> <packaging>war</packaging> <name>Simple webapp</name> <inceptionYear>2007</inceptionYear> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-struts</artifactId> <version>2.0.2</version> </dependency> ... </dependencies> </project> Source and licensing: Arnaud Héritier 2010 – Apache Maven - http://www.slideshare.net/aheritier/20110303-e-xovnapachemaven 2. Infrastructure
  14. Andreas Martin - Page 16 Artefact Repository  By default

    :  A central repository  http://repo1.maven.org/m aven2  Several dozen of Gb of OSS libraries  A local repository  ${user.home}/.m2/reposit ory  All artefacts  Used by maven and its plugins  Used by your projects (dependencies)  Produced by your projects Source and licensing: Arnaud Héritier 2010 – Apache Maven - http://www.slideshare.net/aheritier/20110303-e-xovnapachemaven 2. Infrastructure
  15. Andreas Martin - Page 17 Artefact Repository  By default

    Maven downloads artefacts required by the project or itself from central  Downloaded artefacts are stored in the local repository  Used to store :  Project’s binaries  Project’s dependencies  Maven and plug-ins binaries Source and licensing: Arnaud Héritier 2010 – Apache Maven - http://www.slideshare.net/aheritier/20110303-e-xovnapachemaven 2. Infrastructure
  16. Andreas Martin - Page 18 Dependencies Without Maven With Maven

    2. Infrastructure Source and licensing: Arnaud Héritier 2010 – Apache Maven - http://www.slideshare.net/aheritier/20110303-e-xovnapachemaven
  17. Andreas Martin - Page 19 Versions  Project and dependency

    versions  Two different version variants  SNAPSHOT version  The version number ends with –SNAPSHOT  The project is in development  Deliveries are changing over the time and are overridden after each build  Artefacts are deployed with a timestamp on remote repositories  RELEASE version  The version number doesn’t end with –SNAPSHOT  Binaries won’t change Source and licensing: Arnaud Héritier 2010 – Apache Maven - http://www.slideshare.net/aheritier/20110303-e-xovnapachemaven 2. Infrastructure