This document provides information on using the Google App Engine Datastore and ORM tools to manage data in a cloud environment. It describes the key concepts of entities, properties, queries and transactions using both the low-level Datastore API and higher-level ORM such as DataNucleus. Code examples are given for common operations like entity creation, retrieval, updating and deletion in both APIs.
This session compares the Spring and Java EE stacks in terms of Web frameworks. It re-examines the motivations behind the Spring framework and explores the emergence of the Java EE programming model to meet the challenges posed. The presentation provides insight into when Spring and/or Java EE is appropriate for a building Web applications and if they can coexist.
High Performance Cloud Native APIs Using Apache Geode VMware Tanzu
SpringOne Platform 2017
Anna Jung, HCSC; Paul Vermeulen, Pivotal
"Traditionally cloud native APIs contain the logic to convert data from repositories into information. As the dataset grows it is difficult to scale traditional databases to meet increasing transaction volume. Apache Geode provides high speed, zero downtime data access that allows you to build fast, highly available APIs.
In this session, Anna and Paul will cover how to seamlessly integrate Apache Geode's high performance functions with cloud native APIs. In addition, they will showcase how to test drive the development of Apache Geode backed solutions (Test Driven Development)."
[Note that this talk is not available outside some very specific settings but this deck is here for you as a basic resource to form a basis for your own analysis based on my reasonably objective extensive professional experience using both technology sets in the real world]
Java EE 7 has been one of the most significant overhauls of the platform. Just some of the changes include retiring EJB 2 entity beans and JAX-RPC, greater alignment with CDI, WebSocket/HTML 5 support, a standard API for JSON processing, the next version of JAX-RS, an overhaul of JMS, long-awaited concurrency utilities, batch processing in Java EE and much, much more. In order to make educated choices for adoption, one should understand how the widely-used Spring Framework aligns with Java EE.
This session will compare and contrast the Spring Framework with Java EE 7. We will focus on key areas that include the component development model, dependency injection, persistence, UI, REST, messaging, security and testing. Beyond API/features, the analysis will take a holistic view in covering concerns such as ease-of-use, manageability, ecosystem and vendor-neutrality.
This session compares the Spring and Java EE stacks in terms of Web frameworks. It re-examines the motivations behind the Spring framework and explores the emergence of the Java EE programming model to meet the challenges posed. The presentation provides insight into when Spring and/or Java EE is appropriate for a building Web applications and if they can coexist.
High Performance Cloud Native APIs Using Apache Geode VMware Tanzu
SpringOne Platform 2017
Anna Jung, HCSC; Paul Vermeulen, Pivotal
"Traditionally cloud native APIs contain the logic to convert data from repositories into information. As the dataset grows it is difficult to scale traditional databases to meet increasing transaction volume. Apache Geode provides high speed, zero downtime data access that allows you to build fast, highly available APIs.
In this session, Anna and Paul will cover how to seamlessly integrate Apache Geode's high performance functions with cloud native APIs. In addition, they will showcase how to test drive the development of Apache Geode backed solutions (Test Driven Development)."
[Note that this talk is not available outside some very specific settings but this deck is here for you as a basic resource to form a basis for your own analysis based on my reasonably objective extensive professional experience using both technology sets in the real world]
Java EE 7 has been one of the most significant overhauls of the platform. Just some of the changes include retiring EJB 2 entity beans and JAX-RPC, greater alignment with CDI, WebSocket/HTML 5 support, a standard API for JSON processing, the next version of JAX-RS, an overhaul of JMS, long-awaited concurrency utilities, batch processing in Java EE and much, much more. In order to make educated choices for adoption, one should understand how the widely-used Spring Framework aligns with Java EE.
This session will compare and contrast the Spring Framework with Java EE 7. We will focus on key areas that include the component development model, dependency injection, persistence, UI, REST, messaging, security and testing. Beyond API/features, the analysis will take a holistic view in covering concerns such as ease-of-use, manageability, ecosystem and vendor-neutrality.
Enhance your career with spring framework Online training which helps you in mastering the real-world web applications with spring. Enroll in this course to get spring certified.
This file tells about what is DAO and JDBC in the Spring framework, and the components present in Spring Framework.
This File is having Several Examples for Spring JDBC.
In this presentation I will go through latest features being added in Spring 3.1/3.2 one more time and also will try to look behind the scene on what new features are comming in Spring 4 which should be released at the end of this year.
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)Alexandre Dutra
Spring and Cassandra are two of the leading technologies for building cloud native applications. In this talk by the project leads for Spring Data and the Cassandra Java Driver, we’ll cover the recent improvements in the latest and greatest versions of Spring Boot, Spring Data Cassandra, Cassandra 4.0 and the Cassandra Java driver. Whether you’re a novice, intermediate, or expert developer, this content will help you get started or migrate your existing application to the latest innovations. We’ll illustrate these new concepts with code samples and snippets that you can find on GitHub to help you get things done faster with these tools.
Enhance your career with spring framework Online training which helps you in mastering the real-world web applications with spring. Enroll in this course to get spring certified.
This file tells about what is DAO and JDBC in the Spring framework, and the components present in Spring Framework.
This File is having Several Examples for Spring JDBC.
In this presentation I will go through latest features being added in Spring 3.1/3.2 one more time and also will try to look behind the scene on what new features are comming in Spring 4 which should be released at the end of this year.
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)Alexandre Dutra
Spring and Cassandra are two of the leading technologies for building cloud native applications. In this talk by the project leads for Spring Data and the Cassandra Java Driver, we’ll cover the recent improvements in the latest and greatest versions of Spring Boot, Spring Data Cassandra, Cassandra 4.0 and the Cassandra Java driver. Whether you’re a novice, intermediate, or expert developer, this content will help you get started or migrate your existing application to the latest innovations. We’ll illustrate these new concepts with code samples and snippets that you can find on GitHub to help you get things done faster with these tools.
PyCon India 2010 Building Scalable apps using appenginePranav Prakash
http://in.pycon.org/2010/talks/5
The talk will is primarily designed for users who have some web programming experience in one or more frameworks. It will show an insight of AppEngine, how to create a basic app and how to scale apps with AppEngine's Cloud environment and BigTable storage. Primary focus of the talk will remain on scalability with necessary inputs from other dimensions as well.
Easy ORM-ness with Objectify-Appengine - Indicthreads cloud computing confere...IndicThreads
Session presented at the 2nd IndicThreads.com Conference on Cloud Computing held in Pune, India on 3-4 June 2011.
http://CloudComputing.IndicThreads.com
Abstract: There are many persistence frameworks on Google App Engine. Google has its low-level datastore API, then there are standards based frameworks like JPA and there are more frameworks like Objectify-Appengine specifically for Google App Engine. Managing persistence is still a challenge. With so many options, we face the dilemma of choosing right framework for the application we are building.
Objectify-Appengine extends the convenience of NoSql by providing a Hibernate-style mapping layer between your application and GAE datastore. In this session I will cover handling persistence on Google App Engine with Objectify-Appengine. At one hand Google datastore API is low level and at the other there are standard based frameworks like JPA/JDO. Objectify-Appengine tries to hit the sweet spot between the two.
Takeaways for the Audience
Audience will see the capabilities of Objectify-Appengine and how can they leverage it to manage persistence on Google App Engine. The best practises to be followed when using Objectify, and demo of an application built on Objectify-Appengine.
Speaker:Meetu Maltiar is a Senior Consultant at Inphina. In his six year experience he has worked as Software developer, Knowledge Manager and as a Mentor. He is passionate about technology and has experience in product development as well as services. He has experience on Google App Engine and has migrated existing applications to cloud and he has also worked on Green-field projects. He likes to invest his time in exploring upcoming languages like Scala and technology frameworks like GridGain, Esper and Hadoop and extensively blogs about them.
Data Seeding via Parameterized API RequestsRapidValue
A quick guide on how to data seed via parameterized API requests. Parameterization is very important for automation testing. It helps you to iterate on input data with multiple data sets that make your scripts reusable and maintainable. In few scenarios, you can still manage with hard coded request but the same approach will not work out where sheer count of combinations is to be validated. By implementing the right solution, you can keep your code base and test data size at ideal range and still savor the benefits of optimal coverage.
This talk presents the simple yet powerful way of dependency injection as defined by the OSGi Compendium Declarative Services specification. Besides covering the basics of Declarative Services this talk also explains the many useful additions of the Declarative Services 1.1 in OSGi R 4.2.
RailsConf 2010: From 1 to 30 - How to refactor one monolithic application int...jpalley
As your business grows bigger, you just can’t stop adding new models/controllers to your original rails application – resulting in a messy, unmaintainable and difficult to deploy monolithic application. Its time to refactor. This talk will share our experience, results and best practices in splitting a single rails “application-system” into 30 independently maintainable yet interconnected applications.
After two and a half years of development (starting in pre-Rails 1.0 days!), our live-trainer English learning system now supported multiple roles (learner/trainer/trainer supervisor/sales/materials creation/support/etc) and an exhaustive list of features to support our complex business processes. We set ourselves a year-long goal of splitting this monolithic system into small cooperating applications that could be developed independently by individual developers. At the same time, we could not lose the usability cohesiveness and data-interdependence that defined the power of our system.
Through numerous iterations, many mistakes and a bit of pure-luck we developed an optimized process for the refactor and best practices for making 30 independent rails apps behave as one. The results: lower development time, greater stability and scalability and much higher developer happiness.
We’ll talk about specific code, measurements, pitfalls, plugins, process and best practices to answer questions such as:
How to know where to split single applications into many. How to measure the result.
How the applications should interact with each other. How to reduce administration and DRY configuration applications.
How to share data among applications.
How to DRY for common logic.
How to make a consistent user experience.
How to interact with non-Ruby technology; in our case Erlang, FreeSWITCH (VoIP) and Flex
There are many persistence frameworks on Google App Engine. Google has its low-level datastore API, then there are standards based frameworks like JPA and there are more frameworks like Objectify-Appengine specifically for Google App Engine.
Objectify-Appengine simplifies persistence for google datastore. It allows us to work with our domain models rather than Google's Entity class while retaining the simplicity of google datastore API.
WCF Data Services (formerly known as "ADO.NET Data Services") is a component of the .NET Framework that enables you to create services that use the Open Data Protocol (OData) to expose and consume data over the Web or intranet by using the semantics of representational state transfer (REST). OData exposes data as resources that are addressable by URIs. Data is accessed and changed by using standard HTTP verbs of GET, PUT, POST, and DELETE. OData uses the entity-relationship conventions of the Entity Data Model to expose resources as sets of entities that are related by associations.
Similar to S03 hybrid app_and_gae_datastore_v1.0 (20)
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
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.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
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
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.
Epistemic Interaction - tuning interfaces to provide information for AI support
S03 hybrid app_and_gae_datastore_v1.0
1.
2.
3. CAP and ACID CAP 정합성(Consistency). The client perceives that a set of operations has occurred all at once. 가용성(Availability). Every operation must terminate in an intended response. 단절내성(Partition tolerance). Operations will complete, even if individual components are unavailable. ACID 원자성(Atomicity). All of the operations in the transaction will complete, or none will. 일관성(Consistency). The database will be in a consistent state when the transaction begins and ends. 고립성(Isolation). The transaction will behave as if it is the only operation being performed upon the database. 지속성(Durability). Upon completion of the transaction, the operation will not be reversed. http://queue.acm.org/detail.cfm?id=1394128
4. Google BigTable System BigTable Master Server Chubby Server Tablet Server #2 Tablet Server #1 MapReduce Worker #2 MapReduce Worker #1 GFS #2 GFS #1
5. Google BigTable Architecture GAE Application DataNucleus ORM (JDO or JPA Implementation) Low Level API Datastore Meta 0 tablet Big Table Meta 1 tablet Meta 1 tablet Meta 1 tablet Tab 1 Tab 2 Tab 3 Tab 4 Tab n GFS(Google File System)
6. Google BigTable Dynamic control over Data Layout and Format Not support a full Relational Model Dynamic control over serving data from memory or disk Column oriented The map is indexed by A row key A column name A timestamp BigTable Key TimeStamp / Version Columns Index
7. LDAP(Lightweight Directory Access Protocol) The Lightweight Directory Access Protocol (LDAP) is an application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory services may provide any organized set of records, often with a hierarchical structure, such as a corporate electronic mail directory. Similarly, a telephone directory is a list of subscribers with an address and a phone number.
8. Google App Engine Product Roadmap Features on Deck App Engine out of Preview SSL access on custom domains Full-text search over Datastore Support for Python 2.7 Support for running MapReduce jobs across App Engine datasets Bulk Datastore Import and Export tool Improved monitoring and alerting of application serving Logging system improvements to remove limits on size and storage Integration with Google Storage for Developer
9. DataStore의 제약사항 Write가 느림 검색 가능한 Text 사이즈: 500 자 Entity 최대 사이즈: 1Mb 최대 Batch (save/delete) : 500 Entity SQL을 사용할 수 없음 데이터베이스의 제약조건을 적용할 수 없음 Aggregation 함수를 지원하지 않음 (count, avg) 쿼리가 최대 조회 레코드: 2000 쿼리에서 Equal 연산 이외의 조건은 1개만 추가 가능 트랜잭션의 단위는 Entity Group에 한정 됨
11. Datastore API(Low Level API) 모든 Entity는 Kind가 지정 Entity는 하나이상의 Property를 포함 특정 Kind에포함된 Entity는 동일한 Property를 갖지 않음 Entity의 Property는 이름은 동일하지만 데이터 유형이 다를수 있음 Schemaless의 특성 ID는 지정하지 않을 경우 자동 할당 됨
12. Entity App Engine Datastore에서 관리하는 객체는 Entity Entity는 하나의 Key를 포함 모든 Entity 중 유일한 구분자 Key 의 구성 Path Parent Entity의 key Entity의 Kind Entity에 할당된 이름 App이 할당한 값 Datastore가 지정한 numeric ID 지원 데이터 타임 integers, floating point values, strings, dates, binary data 등 각 엔티티는 하나이상의 Property를 포함 하나의 Property에 복수의 데이터 타입 저장 가능 하나의 Property에는 복수의 값이 저장 가능 복수의 값들의 데이터 유형은 다를 수 있음
13. Entity Model Settings Kind : Table Key : Primary Key Entity Group : Partitioning Property : column
16. Entity Group Entity Group는 부모 Entity를 갖는 Entity의 Group 하나의 트랜잭션에서 여러 Entity를 조회, 생성, 수정, 삭제 할 수 가능하지만 그 범위는 단일 Entity Group에 국한 부모 Entity 를 가지 않은 Entity 를 Root Entity라고 함 Entity Group은 하나의 Root Entity와 Child Entity로 구성 하나의 EntityGroup은 동일한 분산 네트웍 서버에 저장됨 (Tablet 서버)
17. Entity Group Entity Group Root Entity (xxxx) Child Entity (xxxxyyyy) Child Entity (xxxxyyyyzzzz)
23. DataNucleus DataNucleus attempts to make the whole process of persisting data a transparent process. The idea revolves around the developer having a series of Java classes that need persisting. http://www.datanucleus.org/products/accessplatform/development_process.html
24. JDO Model Define(Annotation) import javax.jdo.annotations.PersistenceCapable;@PersistenceCapablepublic class Employee { @PrimaryKey @Persistent(valueStrategy= IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String firstName; @Persistent private String lastName; @Persistent private Date hireDate; }
25. JDO Model Define(Annotation) import javax.jdo.annotations.PersistenceCapable; // …@PersistenceCapablepublic class Employee { @PrimaryKey @Persistent(valueStrategy= IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String firstName; @Persistent private String lastName; @Persistent private Date hireDate; }
26. JDO Model(Create) PersistenceManager pm = PMF.get().getPersistenceManager(); Employee e = new Employee("Alfred", "Smith", new Date()); try { pm.makePersistent(e); } finally { pm.close(); }
27. JDO Model(Update) public void updateEmployeeTitle(User user, String newTitle) { PersistenceManager pm = PMF.get().getPersistenceManager(); try { Employee e = pm.getObjectById(Employee.class, “Sun-Jin”); if (titleChangeIsAuthorized(e, newTitle) { e.setTitle(newTitle); } else { throw new UnauthorizedTitleChangeException(e, newTitle); } } finally { pm.close(); }}