The document provides an introduction and agenda for a presentation on Google App Engine. It discusses the speaker's background in Java development. The agenda covers Google App Engine, persistence in GAE using JDO and JPA, limits of GAE/J, quotas and performance, build tools, and hands-on examples. It summarizes the features and restrictions of GAE/J, how to set up projects in Eclipse, deploy to the cloud, and view apps online.
Micronaut: A new way to build microservicesLuram Archanjo
Over the years microservices architecture has been widely adopted in conjunction with Spring Boot. But recently, we are witnessing the rise of microframeworks such as Micronaut, which has innovated the way we build microservices by providing low memory consumption, fast startup, non-blocking, and other important features that I will demonstrate and conceptualize in this talk.
Weaving Through the Mesh: Making Sense of Istio and Overlapping TechnologiesVMware Tanzu
SpringOne 2020
Weaving Through the Mesh: Making Sense of Istio and Overlapping Technologies
Maria Gabriella Brodi, Sr. Solution Engineer at VMware
Cora Iberkleid, Advisory Solutions Engineer at VMware
Micronaut: A new way to build microservicesLuram Archanjo
Over the years microservices architecture has been widely adopted in conjunction with Spring Boot. But recently, we are witnessing the rise of microframeworks such as Micronaut, which has innovated the way we build microservices by providing low memory consumption, fast startup, non-blocking, and other important features that I will demonstrate and conceptualize in this talk.
Weaving Through the Mesh: Making Sense of Istio and Overlapping TechnologiesVMware Tanzu
SpringOne 2020
Weaving Through the Mesh: Making Sense of Istio and Overlapping Technologies
Maria Gabriella Brodi, Sr. Solution Engineer at VMware
Cora Iberkleid, Advisory Solutions Engineer at VMware
Avoiding the domino effect in our [micro]services (SOLID at macro-design level)CodelyTV
How can we apply SOLID principles to a macro-design level in our [micro]services architectures?
In this talk we will see a problem-solution approach on how we deal with different kinds of load for our different services in order to avoid a domino effect while having peaks of request in one of our services. We'll do so using Domain Events and Message Queues such as RabbitMQ and AWS SNS-SQS.
Spanish resources:
* Hexagonal Architecture course: https://pro.codely.tv/library/arquitectura-hexagonal/66748/about/
* CQRS course: https://pro.codely.tv/library/cqrs-command-query-responsibility-segregation-3719e4aa/62554/about/
* HTTP API with Scala course: https://pro.codely.tv/library/api-http-con-scala-y-akka/66747/about/
* Testing in CQRS architectures talk: https://www.youtube.com/watch?v=cw6Va1ZW7iI
* We broke up with the monolith, and started dating event sourcing slides: https://www.slideshare.net/JavierCane/we-broke-up-with-the-monolith-and-started-dating-eventsourcing-symfonycat
English resources:
* The anatomy of Domain Event: blog.arkency.com/2016/05/the-anatomy-of-domain-event/
* Versioning in an Event Sourced System book: https://leanpub.com/esversioning
* RabbitMQ Simulator: tryrabbitmq.com
* A Series of Fortunate Events slides: https://www.slideshare.net/matthiasnoback/a-series-of-fortunate-events-symfony-camp-sweden-2014
Microservices: Improving the autonomy of our teams with Event-Driven Architec...CodelyTV
Slides used in our talk in the Conferencia Agile Spain 2018 conference. We presented 4 different stages starting from a monolithic architecture, and ending up with an event-driven architecture. We evaluate the pros and cons of each scenario 蘭
Workshop on how to build Vaadin Add-ons. We introduce two styles of building Vaadin add-on components for Vaadin: integrating an existing GWT widget (DatePicker), and integrating an existing JavaScript library (three.js).
Hackathon - Building vaadin add on componentsJoonas Lehtinen
My presentation at Vaadin Hackathon 19-21.4.2013. The presentation outlines all the step of creating a new Vaadin add-on component from design to deployment and publishing.
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Vadym Kazulkin
I will cover the features of Java versions 10 and 11 and what is expected for Java 12. I will also speak about the current status of the projects going on like Project Amber (simplifying syntax), Project Valhalla (Value Types and Specialized Generics), Project Loom (Fibers and Continuations) and Project Metropolis (GraalVM)
Brian MacAulay, Director of the Innovation Index at NESTA, gave this presentation at a workshop on 'innovating out of recession' held at the West Midlands Regional Observatory's Annual Conference, 20th October 2009.
Google, Apple, Microsoft bauen wesentliche Strategien auf den Einsatz von HTML5 auf. HTML5 beschäftigt heute die Webwelt und ist dabei viel mehr als die Weiterentwicklung von HTML 4.01 oder XHTML 1.0. Es bietet neue vielfältige Möglichkeiten, den Web-Browser als Plattform für interaktive Anwendungen zu nutzen - und das bei Bedarf uauch offline. Wir zeigen Ihnen anhand von Beispielseznarien, wie Sie von den neuen Möglichkeiten profitieren können.
Avoiding the domino effect in our [micro]services (SOLID at macro-design level)CodelyTV
How can we apply SOLID principles to a macro-design level in our [micro]services architectures?
In this talk we will see a problem-solution approach on how we deal with different kinds of load for our different services in order to avoid a domino effect while having peaks of request in one of our services. We'll do so using Domain Events and Message Queues such as RabbitMQ and AWS SNS-SQS.
Spanish resources:
* Hexagonal Architecture course: https://pro.codely.tv/library/arquitectura-hexagonal/66748/about/
* CQRS course: https://pro.codely.tv/library/cqrs-command-query-responsibility-segregation-3719e4aa/62554/about/
* HTTP API with Scala course: https://pro.codely.tv/library/api-http-con-scala-y-akka/66747/about/
* Testing in CQRS architectures talk: https://www.youtube.com/watch?v=cw6Va1ZW7iI
* We broke up with the monolith, and started dating event sourcing slides: https://www.slideshare.net/JavierCane/we-broke-up-with-the-monolith-and-started-dating-eventsourcing-symfonycat
English resources:
* The anatomy of Domain Event: blog.arkency.com/2016/05/the-anatomy-of-domain-event/
* Versioning in an Event Sourced System book: https://leanpub.com/esversioning
* RabbitMQ Simulator: tryrabbitmq.com
* A Series of Fortunate Events slides: https://www.slideshare.net/matthiasnoback/a-series-of-fortunate-events-symfony-camp-sweden-2014
Microservices: Improving the autonomy of our teams with Event-Driven Architec...CodelyTV
Slides used in our talk in the Conferencia Agile Spain 2018 conference. We presented 4 different stages starting from a monolithic architecture, and ending up with an event-driven architecture. We evaluate the pros and cons of each scenario 蘭
Workshop on how to build Vaadin Add-ons. We introduce two styles of building Vaadin add-on components for Vaadin: integrating an existing GWT widget (DatePicker), and integrating an existing JavaScript library (three.js).
Hackathon - Building vaadin add on componentsJoonas Lehtinen
My presentation at Vaadin Hackathon 19-21.4.2013. The presentation outlines all the step of creating a new Vaadin add-on component from design to deployment and publishing.
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Vadym Kazulkin
I will cover the features of Java versions 10 and 11 and what is expected for Java 12. I will also speak about the current status of the projects going on like Project Amber (simplifying syntax), Project Valhalla (Value Types and Specialized Generics), Project Loom (Fibers and Continuations) and Project Metropolis (GraalVM)
Brian MacAulay, Director of the Innovation Index at NESTA, gave this presentation at a workshop on 'innovating out of recession' held at the West Midlands Regional Observatory's Annual Conference, 20th October 2009.
Google, Apple, Microsoft bauen wesentliche Strategien auf den Einsatz von HTML5 auf. HTML5 beschäftigt heute die Webwelt und ist dabei viel mehr als die Weiterentwicklung von HTML 4.01 oder XHTML 1.0. Es bietet neue vielfältige Möglichkeiten, den Web-Browser als Plattform für interaktive Anwendungen zu nutzen - und das bei Bedarf uauch offline. Wir zeigen Ihnen anhand von Beispielseznarien, wie Sie von den neuen Möglichkeiten profitieren können.
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)Igalia
Antia Puentes and Lorenzo Tilve talk about Igalia's work on the Automotive Grade Linux Demo Platform with Chromium and the Web Application Manager, from the March 17-18th 2021 Automotive Grade Linux All Members Meeting.
https://www.youtube.com/watch?v=35SgM_g8ePk&t=1s
Google Web Toolkit
Presentation by Assoc.Prof. Dr.Thanachart Numnonda & Asst.Prof. Thanisa Kruawaisayawan, Mini Master of Java Technology KMITL, July 2012
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...Jesse Gallagher
Though Domino makes working with build servers and CI/CD pipelines difficult, it is possible to do so even with complex applications. This session will discuss the specifics of using several OpenNTF projects - NSF ODP Tooling, the Jakarta XPages Runtime, and XPages Jakarta EE Support - as well as open-source technologies such as Docker to build, test, and deploy Java-based Domino applications for testing and staging. This builds on previous sessions about the NSF ODP Tooling and Maven generally.
This is the first of 3 parts of GWT Training. It is introduces Ajax and GWT and how to install GWT for Eclipse.
It is for Java Programmers that want to start Ajax development using GWT.
Camunda advises to separate business logic from the engine's API to keep your software simple, maintainable, and easy to migrate. However, this can also prove tricky to implement. Hear from Stephan Pelikan at Phactum Software about their new Camunda community extension that resolves this challenge by providing the separation and giving you the freedom to move to C8 independent of your current process implementation backlog.
Lean web architecture mit jsf 2.0, cdi & co.adesso AG
Vortrag von Andreas Hartmann, Principal Software Architect bei adesso, auf dem Herbstcampus 2012 zu ‚Lean Web Architecture mit JSF 2.0 & CDI‘. Die Präsentation vermittelt, wie man in kürzester Zeit komplexe Anwendungen entwickeln kann – auf schlankem Weg.
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
Auch mit JSF 2 und CDI lassen sich in kürzester Zeit komplexe Anwendungen realisieren, wenn man weiß, wie. Anhand des Technologie-Stacks JSF 2, CDI, Lombok, HTML5, jQuery und JPA wird eine leichtgewichtige Architektur anhand einer Livedemo vorgestellt, die den Anforderungen des Rapid Application Development gerecht wird und in der Cloud betrieben werden kann.
Software entwickeln ist schwer, aber Architekt zu sein ist sogar noch anspruchsvoller. In dieser Session werden zehn praktische Hinweise gegeben, die man als Architekt beachten sollte, um Projekte technisch erfolgreich durchzuführen. Sie basieren auf langjähriger Erfahrung aus zahlreichen Architektur-Reviews.
Der Markt für Java-Cloud-Lösungen ist in Bewegung: Etablierte Cloud-Anbieter erweitern ihre Angebote um Java-Lösungen und einige Start-ups etablieren sich. Dieser Vortrag zeigt den aktuellen Stand von Angeboten wie Amazon Elastic Beanstalk, VMware Cloud Foundry oder Google App Engine und zeigt Stärken und Schwächen auf. Außerdem wird auf Möglichkeiten zur Nutzung von Java mit IaaS Cloud eingegangen. Ausgewählte Angebote werden auch live präsentiert.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
1. Introduction into Google App Engine
Halil-Cem Gürsoy
adesso AG
Tw @hgutwit
G+ http://goo.gl/hljRS
21.11.11
2. The speaker
► More then 12 years development in Java
► Before getting a “consulting developer“ some years research
(calculation of RNA folding with genetic algorithms using Pascal)
► Senior Software Engineer at adesso AG, Dortmund
► Speaker on some conferences: (W)-JAX, DOAG, HerbstCampus etc.
► Mostly EAI/SOA projects... with plain good old Java / JEE
► … and a bit Scala
21.11.11 2 CloudConf 2011 - GAE/J
3. Agenda
► Google App Engine
► Persistence in Google App Engine
► Limits in GAE/J
► Quota and Performance
► Build-Tools
► Hands-On
21.11.11 3 CloudConf 2011 - GAE/J
4. Agenda
► Google App Engine
► Persistence in Google App Engine
► Limits in GAE/J
► Quota and Performance
► Build-Tools
► Hands-On
21.11.11 4 CloudConf 2011 - GAE/J
5. The Google App Engine
► A classic PaaS
► No control over the OS
► A runtime for Web Application
► At the start, only Python was supported
► Since 2009 Java, now Google Go
> Java-Support is limited!
21.11.11 5 CloudConf 2011 - GAE/J
6. Talking about GAE/J
► GAE/J = JRE6
> A Sandbox with restrictions
► Supports out of the box
> Servlet API 2.4 (*)
> JSF 1.1, 2.0 (*)
> JSP (*)
> JDO 2.3 (?!)
> JPA 1(*)
► Support for Google Services und API‘s
21.11.11 6 CloudConf 2011 - GAE/J
7. Agenda
► Google App Engine
► Persistence in Google App Engine
► Limits in GAE/J
► Quota and Performance
► Build-Tools
► Hands-On
21.11.11 7 CloudConf 2011 - GAE/J
8. Persistence in GEA
► Default Store is a Key-Value NoSQL-DB (Google BigTable)
► JDO and JPA supported… partially
> ORM via DataNucleus v1.1
► JDO is still better documented than JPA in the GAE/J documentation
► You can use the low level API for Google BigTable
► You can use in-memory Databases
► Enhancement of Entity Classes needed (good to know for Build)
► MySQL-Support is upcoming (now in Beta, chosen accounts)
21.11.11 8 CloudConf 2011 - GAE/J
10. More on JPA
► @ManyToMany is not supported
► Join-Queries are not supported
► You can not use
> InheritanceType.SINGLE_TABLE
> InheritanceType.JOINED
► No support for aggregation queries
> group by, having, sum, avg, min, max
► No support for polymorphic queries
21.11.11 10 CloudConf 2011 - GAE/J
11. More to know about limits in JPA
► Resultsets are not initialized, you have to do it!
> resultSet.size();
► Id Fields: don’t use long type
> Unsupported primary key type: long
► GenerationType.TABLE results in an error
> javax.persistence.PersistenceEception: Transaction is still
active.
► Solution
@Id
GeneratedValue(strategy = GenerationType.IDENTITY)
private com.google.appengine.api.datastore.Key key;
21.11.11 11 CloudConf 2011 - GAE/J
12. Agenda
► Google App Engine
► Persistence in Google App Engine
► Limits in GAE/J
► Quota and Performance
► Build-Tools
► Hands-On
21.11.11 12 CloudConf 2011 - GAE/J
13. Other Limits in GAE
► The “JRE Whitelist” defines all supported JRE classes
> http://code.google.com/intl/de-DE/appengine/docs/java/jrewhitelist.html
> Only ~ 1500 classes
► Your application should not
> …start own threads (due to that, no Akka-Support if you use Scala)
> …write files
> …open network sockets
21.11.11 13 CloudConf 2011 - GAE/J
14. Will it play?
► Overview about the support for frameworks and JVM languages:
> http://code.google.com/p/googleappengine/wiki/WillItPlayInJava
► No support for…
> JAX-RPC
> JDBC
> JMS (!)
> JNDI
> …and much more!
► A little bit support for JAX-WS, good support for REST
► Scala, Groovy (look @ Gealky) etc. supported
► Spring Core is supported
21.11.11 14 CloudConf 2011 - GAE/J
15. Spring support
► Not all Spring Projects are supported - core is
► Running: Spring MVC with Spring beans
► Setup: JAR files into /WAR/WEB-INF/lib and add to Classpath
► Example:
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/springgae/*</url-pattern>
</servlet-mapping>
21.11.11 15 CloudConf 2011 - GAE/J
17. GAE and Android
► Tight integration of GAE and Android via Android Cloud to Device
Framework (C2DM)
> http://code.google.com/android/c2dm/
► C2DM enables Android Apps to use all GAE as the backend
► ...e.g. use the GAE Data Store
► ...e.g. send Mails from GAE
► Example: Chrome to Phone-Extension and App
> http://code.google.com/p/chrometophone/
21.11.11 17 CloudConf 2011 - GAE/J
18. More Reasons…
► No one enforces you to use JPA or JDO on GAE!
> Use the native Interface
> You have a free, full distributed, NoSQL Key-Value DB!
► Transparent scaling of your app
> You have not to care about how many instances you have to start and
then to start
> GAE is not Beanstalk / CloudFoundry
> In Beanstalk / CloudFoundry you have still to take care about LB and
your infrastructure
21.11.11 18 CloudConf 2011 - GAE/J
19. Agenda
► Google App Engine
► Persistence in Google App Engine
► Limits in GAE/J
► Quota and Performance
► Build-Tools
► Hands-On
21.11.11 19 CloudConf 2011 - GAE/J
20. Quota
► GAE with limits w/o fee
► New Billing System to overcome limits
► Quota exceeded: HTTP 403 Errors or Exceptions (bad if you not aware
of quota)
► Per minute quota = aprox. 500 Req./min.
21.11.11 20 CloudConf 2011 - GAE/J
22. Agenda
► Google App Engine
► Persistence in Google App Engine
► Limits in GAE/J
► Quota and Performance
► Build-Tools
► Hands-On
21.11.11 22 CloudConf 2011 - GAE/J
23. Build-Tools
► Ant is supported
> Enhancement of entity classes
> Deployment
► Maven
> Maven2 plug-in available (http://code.google.com/p/maven-gae-plugin/ )
> Archetypes for JSP, GWT and Wicket-Projects
> GAE SDK not available via Maven repositories anymore (?)
21.11.11 23 CloudConf 2011 - GAE/J
24. Agenda
► Google App Engine
► Persistence in Google App Engine
► Limits in GAE/J
► Quota and Performance
► Build-Tools
► Hands-On
21.11.11 24 CloudConf 2011 - GAE/J
25. Hands on?
► Some slides to tell you that is needed
► Ask me afterwards for a live demo
► Get ready...
21.11.11 25 CloudConf 2011 - GAE/J
26. Getting started
► Google App Engine Account activated?
> You need your mobile number for activation
► Eclipse with the Google Plug-in
► Manual installation via Eclipse Market Place
> http://marketplace.eclipse.org/content/google-plugin-eclipse
► SDK with CLI and more resources at GAE-Homepage
– http://code.google.com/appengine/
21.11.11 26 CloudConf 2011 - GAE/J
29. Test in the local sandbox
► You can test your application in the local sandbox
► http://localhost:8888/[your_project_name]
21.11.11 29 CloudConf 2011 - GAE/J
30. Create your cloud app
► Register your application in your GAE account
► https://appengine.google.com/ -> “Create Application”
► Choose an Application Identifier and an Application Name (note them!)
► Choose the Authentication Option
> Default is “Open to all Google Account users”
> User can sign in into your app using their Google Account
► Choose Storage Option
> High Replication (default) vs. Master/Slave
> High Replication is “eventualy consistent” (latency in writes)
21.11.11 30 CloudConf 2011 - GAE/J
31. Deployment
► Choose „Google – Deploy to App Engine“ from context menu
► Provide your App Engine data
21.11.11 31 CloudConf 2011 - GAE/J
32. Calling now on the cloud
► Call your Application now on the cloud!
► [appid].appspot.com/[servletname] (Servletname = Projectname by
default)
► The servlet should greet you…
► Check your Application-Dashboard
– https://appengine.google.com/
21.11.11 32 CloudConf 2011 - GAE/J
33. Thank you for your attention!
info@adesso.de
www.adesso.de