Name the available types of EJBs and give an example of their usage!
Enterprise JavaBeans gibt es in mehreren unterschiedlichen Ausprägungen für verschiedene Klassen von Anwendungsfällen. Sie können entweder remote oder lokal angesprochen werden. Entity Bean modellieren die dauerhaften (persistenten) Daten des Systems (Adressen, Namen..) Session Bean bilden insbesondere Vorgänge ab, die der Nutzer mit dem System durchführt Message Driven Bean Ausführung von klassischerweise asynchron auszuführenden Operationen (z. B. dem Verschicken einer Mail)
What is the difference between application and container managed persistence?
Container kümmert sich sowohl um die persistente Speicherung der Zustände, als auch um die Verfügbarkeit der EJB-Komponenten für jeden autorisierten Client. With a container-managed entity manager, an EntityManager instance’s persistence context is automatically propagated by the container to all application components that use the EntityManager instance within a single Java Transaction Architecture(JTA) transaction. Application •Bean has to implement when and how data is persistently stored •With application-managed entity managers, on the other hand, the persistence context is not propagated to application components, and the life cycle of EntityManager instances is managed by the application
purpose of local/remote interfaces?
local interface optimization for local Bean communication, no overhead formarshalling/unmarshalling, stubs and skeletons, declared by java annotation(@local, @remote)
Whats a deployment descriptor?
Konfigurationsdatei im Format XML. Im Umfeld von JAVABEANZZZZZ, beschreibt diese Konfigurationsdatei den spezifischen Bereitstellungsprozess (englisch deployment) und dazu benötigte Informationen wie name and type of beans, interfaces, class implementations Hinzu kommt der Assembly descriptor, dieser enthält transaction management, security properties
What are the design steps in EJB?
1.Component Specification •Defines “casing” of a component; independent of its implementation •Specifies component’s offered and required interfaces •Interfaces specified separately from other component parts •Consideration of architecture independent from individual implementations 2.Component Implementation •Defines implementation of a component according to a given specification •Defines the “content” of the “casing” •Different implementations can belong to a particular specification 3.Installed Component (Deployment) •Installation of component implementations on a component platform •Registers component implementation with component platform •Configuration information included separate from component code oDescribes behaviour with/use of platform services by the componento E.g. transaction processing, persistence, security 4. Component Object •Describes a component in runtime •Represents an instance of a component •Possesses an identity •Encapsulates application logic and state information
What criteria are relevant for the selection of an application server product in a project?
Main Cost/Ownership Appropriateness according to adopters requirements Security Performance Extensibility Short Development Time
What is OSGI? Compare the OSGiand EJB component model!
OSGi is a java-based component platform. Tier Client-sideServer-side Component installation At runtime During deployment BindingBndls registered in local repo JNDI Remote communication Not integratedVia remote interface
How is a component in OSGi defined?
Components in OSGi are called Bundles, bundles with a lifecycle, can provide services to other bundles, compiled into JAR Lifecycle Install •Evaluation of manifest file •Checking availability of bundle classes and resources •Persistent saving Resolve •Resolution of static dependencies to external bundles and java packages Uninstall •Must take place explicitly through the OSGi platform •Removal of all persistently saved parts of the bundle
What are the special Requirments and Problems when debugging Distributed Systems?
•Extended functionality (distributed components and remote communication) •Intervention at message exchange level •Concurrently active and parallel threads and processes •Absence of a global state and common clock •Semantics of special constructs (breakpoint, break conditions) •Indeterminism (original execution to be reproduced during testing) •Interference of debugger and system •Information flooding (high number of system states, huge state information)
Explain the problems of “The lack of a global state”, “Indeterminism” and “Interference”.
Indeterminism execution time of components and order of messages not known -> different results with same input possible Lack of global state up-to-date state from every node not possible due to latency Interference •Debugger consumes resources and thus, influences control flow of system under(CPU, memory, network, etc.) •Delay of local processing and on network due to debugging
Whats a solution for Interference Indeterminism and Lack of global state?
Interference •Minimizing the influence of debugger to running system by minimizing resource consumption and communication overhead of debugger •Replay limits debugging on a single node, no communication overhead •Support for Distributed Breakpoints allows execution in „normal“ speed and stopping at defined breakpoints Indeterminism and Lack of global state ?????????????
Name the essential characteristics of Cloud Computing.
On-demand Self Service läuft automatisch ohne Interaktion mit dem Service Provider ab. Broad Network Access über das Netz verfügbar und nicht an einen bestimmten Client gebunden. Resource Pooling: Ressourcen des Anbieters liegen in einem Pool vor, aus dem sich viele Anwender bedienen können Rapid Elasticity Services können schnell und elastisch zur Verfügung gestellt werden, in manchen Fällen auch automatisch. Measured Services Ressourcennutzung kann gemessen und überwacht werden und entsprechend bemessen auch den Cloud-Anwendern zur Verfügung gestellt werden
Compare the approaches of grid and cloud computing in terms of goals, business model, quality-of-service support, administration,resource provision and consumption, and security requirements.
Goals aggregating resources for complex tasksOutsourcing resources Business ModelFreePay-per-use QoSNot supportedSupported Resource providersMultipleOne Admin and control DecentralizedCentralized Resource provisioning On reservationOn demand Resource consumptionAs platformAs service Resource distributionHigher, multiple resourcesLower, centralized resources Security requirementsLowhigh
Explain briefly the different cloud service models and give an example for each model
Infrastructure as a Service (IaaS) •Provides virtualized hardware resources (storage, cpu) •Setup of operating system, installation of further software •Amazon Elastic Compute Cloud (EC2), Microsoft Azure, OpenStack Platform as a Service (PaaS) •Resources, tools and runtime system for Software development •Predefined development approach and IDE •Google App Engine (Web Applications), Heroku Software as a Service (SaaS) •Provisioning of ready-to-use applications •Customer consumes complete IT-Infrastructure •Configurability and Integratabilityare limited •Google Mail, Google Docs
What is the main difference between Public and Private Cloud services? Which Cloud Forms exist?
Private Cloud: exclusive use by a single organisation Community Cloud: exclusive use by a specific community Public Cloud: open use by the general public Hybrid Cloud: composition at least two distinct cloud infrastructures
What is virtualization?
•Logic view on physical resources •Mapping of interface and visible resources onto interfaces and resources of an underlying, possibly different, real system •Same level of abstraction, i.e. virtual disk with sectors and tracks
Explain the difference between Virtualization and Abstraction
Abstraction Computer systems are structured hierarchically, interfaces separate levels of abstraction Hiding of complexity by simplification.E.g., file abstraction hides sectors and tracks of hard disk Virtualisation Logic view on physical resources Mapping of interface and visible resources onto interfaces and resources of an underlying, possibly different, real system same level of abstraction; e.g., virtual disk with sectors and tracks
What is the difference between a Virtual Machine and a Container?
Container provides an abstract OS, while Virtual Machine provides an abstract machine Containers share an OS, while VMs can run different OS Container hosts a singe or fixed set of applications, while VM typically hosts multiple applications
Explain the conceptsof Scale Up and Scale Out
Scale up add resources to existing nodes (vertical scaling) +easy to achieve -limited to maximum hardware capacity of computing node Scale Out add computing nodes(horizontal scaling) + unlimitedly extensible - hard to achieve - requires flexible structure of software system - replication of computing nodes and data has to be supported by system architecture
What is the difference between packet-basedand flow-based load balancing?In what cases is stickiness required?
Replication and load balancing are the base for scale out, autoscaling and availability •Packet-based oFor each incoming packet an outgoing connection is selected (balancing per packet) •Flow-based oAll packets of a flow follow a specific path(balancing per connection/session) oStickiness: maintaining sessions, all requests of a session are forwarded–essentially required for all stateful services
What is Load Balancing? (Cloud)
distribute incoming network traffic across multiple virtual machine instances running redundant service deployments
What is DNS-based Load Balancing ?
DNS-based Load Balancing is the practice of configuring a domain in the Domain Name System (DNS) such that client requests to the domain are distributed across a group of servers.
What is the benefit of using XML Encryption to encrypt parts of SOAP messages?
XML Encryption •Flexible routing based on SOAP-Header information requires access to SOAP header •End-to-end encryption for message content •WhileSOAP body is encrypted •Parts of SOAP-body for content-based routing
Name the key features of an Enterprise Service Bus
Main Features •Key concept: message broker–thebus oCommunication via message-oriented middleware based on standard set of messages o Abstraction for endpoints (technology independence) oSupport of many transport media and standard protocols oRouting and transformation of messages additional features provided: •security services, single-sign-on •service registry •data conversion and mapping services •reliable message transport (based on MOM) •central monitoring •scalability, performance, transaction support
Name the main features of Service Component Architecture?
•Loose coupling of technology independent services (Assemblymodel) •Mapping of abstracta ssemblies to different Programming languages/platforms •composition is static, consists ofc oncrete component, service, wire and property definitions •hierarchical composition possible
Whats a service?
„A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description“.