This document discusses using Django for enterprise web application development. It begins with a brief overview of Django's features like models, views, templates, forms and administration. It then discusses concepts for enterprise applications, including multi-tier architectures, web services, transactions, and scalability. The document argues that for enterprise needs, Django provides many core capabilities while keeping things simple, and alternatives like Java frameworks promote unnecessary complexity. It raises questions about monitoring and performance management for Python in production.
The course aims to provide you with an understanding of the fundamental concepts involved in object-oriented programming (object, class, protocol, hierarchy, inheritance, encapsulation, polymorphism and collaboration).
The programming language you will use is Java. However, the purpose of the course is not to teach you the minutiae of the Java language, but rather to teach you fundamental object-oriented programming concepts and skills that will be transferable to any object¬ oriented language
How do you handle renaming of a resource in RESTful wayXPeppers
In this presentation we are going to investigate the issue regarding the move or rename of an existing resource in RESTful. Have you ever encountered this problem? How did you handled it? Let's talk about it.
Collective code ownership in Extreme ProgrammingXPeppers
What can we do to improve communication and knowledge sharing in an Agile team? Collective Code Ownership is one of the most important rules in Extreme Programming: every member of the team is responsible for the architecture.
In this talk we'll explore the connection between CCO and the other XP rules, and we'll see some techniques that can help us in following this good practice.
The course aims to provide you with an understanding of the fundamental concepts involved in object-oriented programming (object, class, protocol, hierarchy, inheritance, encapsulation, polymorphism and collaboration).
The programming language you will use is Java. However, the purpose of the course is not to teach you the minutiae of the Java language, but rather to teach you fundamental object-oriented programming concepts and skills that will be transferable to any object¬ oriented language
How do you handle renaming of a resource in RESTful wayXPeppers
In this presentation we are going to investigate the issue regarding the move or rename of an existing resource in RESTful. Have you ever encountered this problem? How did you handled it? Let's talk about it.
Collective code ownership in Extreme ProgrammingXPeppers
What can we do to improve communication and knowledge sharing in an Agile team? Collective Code Ownership is one of the most important rules in Extreme Programming: every member of the team is responsible for the architecture.
In this talk we'll explore the connection between CCO and the other XP rules, and we'll see some techniques that can help us in following this good practice.
Coaching for Continuous Improvement presented at the ASQ World Conference on Quality and Improvement May 2016 Milwaukee - How to develop team members to be strong problem solvers
Something for your mind, your body and your soul!peter decuypere
STIMA keynote about God-events, Jesus-events and Holy Spirit events. And if you're a marketeer, maybe you will discover that you also have a very nasty disease: viperitis!
Kanban 101 workshop by John Goodsen and Michael Sahota.
This covers everything you will need to know to play Russell Healy's Kanban Game: visualizing the work, metrics, and creating explicit policies.
Slides are available on request. Please email me.
“We are what we repeatedly do. Excellence, then, is not an act, but a habit.” – Aristotle You have been doing agile for a few years now. With a regular cadence you have retrospectives and a lot of problems and great improvement opportunities are raised but you don’t seem to really improve. Let us put your retrospectives on steroids. Start using Toyota Kata! Building on the power of habits, Toyota Kata will help you build a daily continuous learning and improvement culture, a kaizen culture. In this intense and interactive 90 min session, you will be introduced to the two main Kata* of the Toyota Kata, the Improvement Kata and Coaching Kata. We will experience the fundamental behavior patterns at the core of the Toyota Kata methodology: the rapid experimental cycles and the Coaching Dialog. You will gain direct insight into the power of the Improvement Kata and Coaching Kata through repeated personal practice. You will experience how these daily habits or routines will help you to strive towards a state of awesomeness in small experiments focused on learning. Small teams will work together striving to achieve ever higher levels of awesomeness using the Improvement Kata and Coaching Kata, thereby gaining practical hands-on familiarity with Toyota Kata. Learning outcomes: · Provide an introduction to the core routines, mindset, and behavioral practices of Improvement Kata and Coaching Kata. · Allow you to experience the core routines of the of the Improvement Kata and Coaching Kata through interactive, hands-on exercises Who should attend? The target audience are Lean/Agile Coaches, Scrum Masters, managers and anyone interested in continuous learning and improvement methods. Anyone can attend. Prerequisites No prior knowledge needed. If you want to prepare the following two books are highly recommended: Toyota Kata: Managing People for Improvement, Adaptiveness and Superior Results by Mike Rother and Lean Enterprise: How High Performance Organizations Innovate at Scale by Jez Humble, Joanne Molesky, Barry O’Reilly Time to stop collecting problems and start forming new habits of learning and improving! (*) Kata means pattern, routine, habits or way of doing things. Kata is about creating a fast “muscle memory” of how to take action instantaneously in a situation without having to go through a slower logical procedure. A Kata is something that you practice over and over striving for perfection. If the Kata itself is relative static, the content of the Kata, as we execute it is modified based on the situation and context in real-time as it happens. A Kata as different from a routine in that it contains a continuous self-renewal process.
How to improve flow efficiency, remove the red bricks Agile2014Håkan Forss
Do you want to improve end-to-end feature lead-time? It is not a question of working harder. It is a question of first removing the feature wait time, the red bricks.
If you would build an end-to-end timeline for your features using red, yellow and green LEGO bricks. Where:
* Red = Non value adding waiting time
* Yellow = Non value adding activates required due to how work is organized
* Green = Value adding activities of real customer value
How would your feature end-to-end timeline look like? In most cases, you will have less than 20% green and yellow bricks and more the 80% red bricks.
In this session, you will be see how flow efficiency can be drastically improve in two concrete examples from two different domains.
First, you will see how a Swedish Breast Cancer Clinic drastically improved flow efficiency and reduced patient wait time by focusing on removing the red and yellow bricks.
In the second example, you will see how a Product Development Test Organization reduced lead-time and created time for improvements by focusing on improving flow efficiency.
We will take a close look at the three laws that define the performance of all processes:
* Little’s Law
* Law of bottlenecks
* Law of variation
By understanding how the three laws governs the performance of your processes, we can look at ways to improve your flow efficiency.
When time is gone, it is gone. Time to start removing the red and yellow bricks
Stuart Fettinger's 6/13/2019 Chicago Microservices Meetup Presentation -
Title: Hurry Up and GO (But Not Too Fast)
Like all programming languages, GoLang can be great in some situations - not so great in others. We weigh GO against other frameworks, focusing on real-world examples to highlight benefits and common challenges. Plus, we explore how to architect and design efficient GO applications from the start, so you can limit your long-term technical debt.
The goal for this presentation is to cover the following:
- When you should and should not use GO
- Pros and cons of the language compared to others
- Efficient architecture and design, focusing on reuse and service patterns
Java EE microservices architecture - evolving the monolithMarkus Eisele
With the ascent of DevOps, microservices, containers, and cloud-based development platforms, the gap between state-of-the-art solutions and the technology that enterprises typically support has greatly increased. But some enterprises are now looking to bridge that gap by building microservices-based architectures on top of Java EE.
In this webcast, Red Hat Developer Advocate Markus Eisele explores the possibilities for enterprises that want to move ahead with this architecture. However, the issue is complex: Java EE wasn't built with the distributed application approach in mind, but rather as one monolithic server runtime or cluster hosting many different applications. If you're part of an enterprise development team investigating the use of microservices with Java EE, this webcast will guide you to answers for getting started.
Stackato presentation done at the Nordic Perl Workshop 2012 in Stockholm, Sweden
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
When things can't be done in such a way that a small change to the db causes many changes and recompilation of your app is this really agile? Do you really believe it or had sworn to it? I use my own technique to minimize or completety eliminate this common problem. Come to see what you might never heard of.
APIs define contracts between a service and a client, and with the rise of representation languages like Swagger, Apiary, and RAML, these contracts can be consumed programmatically and adapted easily into our codebases. Other tools like JSON Schema also contribute to this idea of integration between service and client.
But what about our documentation? If API contracts can be assimilated into software, surely it can drive our documentation too? In this talk, I want to introduce some of the techniques I've used on past projects that allow exactly that. By using remote schemas to generate software, it also allows us to generate working documentation that is always relevant and never out of date. Apart from accuracy, we also get the added benefits of reduced development time, reduced effort, and reduced duplication. We can all of this by documenting once, and re-using across multiple projects!
Jared Whitlock Open Source In The Enterprise Plone @ NovellVincenzo Barone
Novell has used various proprietary CMS solutions over time, including TeamSite and Vignette. None of these solutions met all of our needs, nor were they easy to modify. We began looking at different Open Source CMS options, and decided on Plone. This presentation will briefly discuss Novell's proprietary CMS history, why we chose Plone, what we are currently using and developing, and our plans for the future. It will also discuss our architecture for making Plone successful for enterprise websites.
What are the actors? What are they used for? And how can we develop them? And how are they published and used on Azure? Let's see how it's done in this session
Coaching for Continuous Improvement presented at the ASQ World Conference on Quality and Improvement May 2016 Milwaukee - How to develop team members to be strong problem solvers
Something for your mind, your body and your soul!peter decuypere
STIMA keynote about God-events, Jesus-events and Holy Spirit events. And if you're a marketeer, maybe you will discover that you also have a very nasty disease: viperitis!
Kanban 101 workshop by John Goodsen and Michael Sahota.
This covers everything you will need to know to play Russell Healy's Kanban Game: visualizing the work, metrics, and creating explicit policies.
Slides are available on request. Please email me.
“We are what we repeatedly do. Excellence, then, is not an act, but a habit.” – Aristotle You have been doing agile for a few years now. With a regular cadence you have retrospectives and a lot of problems and great improvement opportunities are raised but you don’t seem to really improve. Let us put your retrospectives on steroids. Start using Toyota Kata! Building on the power of habits, Toyota Kata will help you build a daily continuous learning and improvement culture, a kaizen culture. In this intense and interactive 90 min session, you will be introduced to the two main Kata* of the Toyota Kata, the Improvement Kata and Coaching Kata. We will experience the fundamental behavior patterns at the core of the Toyota Kata methodology: the rapid experimental cycles and the Coaching Dialog. You will gain direct insight into the power of the Improvement Kata and Coaching Kata through repeated personal practice. You will experience how these daily habits or routines will help you to strive towards a state of awesomeness in small experiments focused on learning. Small teams will work together striving to achieve ever higher levels of awesomeness using the Improvement Kata and Coaching Kata, thereby gaining practical hands-on familiarity with Toyota Kata. Learning outcomes: · Provide an introduction to the core routines, mindset, and behavioral practices of Improvement Kata and Coaching Kata. · Allow you to experience the core routines of the of the Improvement Kata and Coaching Kata through interactive, hands-on exercises Who should attend? The target audience are Lean/Agile Coaches, Scrum Masters, managers and anyone interested in continuous learning and improvement methods. Anyone can attend. Prerequisites No prior knowledge needed. If you want to prepare the following two books are highly recommended: Toyota Kata: Managing People for Improvement, Adaptiveness and Superior Results by Mike Rother and Lean Enterprise: How High Performance Organizations Innovate at Scale by Jez Humble, Joanne Molesky, Barry O’Reilly Time to stop collecting problems and start forming new habits of learning and improving! (*) Kata means pattern, routine, habits or way of doing things. Kata is about creating a fast “muscle memory” of how to take action instantaneously in a situation without having to go through a slower logical procedure. A Kata is something that you practice over and over striving for perfection. If the Kata itself is relative static, the content of the Kata, as we execute it is modified based on the situation and context in real-time as it happens. A Kata as different from a routine in that it contains a continuous self-renewal process.
How to improve flow efficiency, remove the red bricks Agile2014Håkan Forss
Do you want to improve end-to-end feature lead-time? It is not a question of working harder. It is a question of first removing the feature wait time, the red bricks.
If you would build an end-to-end timeline for your features using red, yellow and green LEGO bricks. Where:
* Red = Non value adding waiting time
* Yellow = Non value adding activates required due to how work is organized
* Green = Value adding activities of real customer value
How would your feature end-to-end timeline look like? In most cases, you will have less than 20% green and yellow bricks and more the 80% red bricks.
In this session, you will be see how flow efficiency can be drastically improve in two concrete examples from two different domains.
First, you will see how a Swedish Breast Cancer Clinic drastically improved flow efficiency and reduced patient wait time by focusing on removing the red and yellow bricks.
In the second example, you will see how a Product Development Test Organization reduced lead-time and created time for improvements by focusing on improving flow efficiency.
We will take a close look at the three laws that define the performance of all processes:
* Little’s Law
* Law of bottlenecks
* Law of variation
By understanding how the three laws governs the performance of your processes, we can look at ways to improve your flow efficiency.
When time is gone, it is gone. Time to start removing the red and yellow bricks
Stuart Fettinger's 6/13/2019 Chicago Microservices Meetup Presentation -
Title: Hurry Up and GO (But Not Too Fast)
Like all programming languages, GoLang can be great in some situations - not so great in others. We weigh GO against other frameworks, focusing on real-world examples to highlight benefits and common challenges. Plus, we explore how to architect and design efficient GO applications from the start, so you can limit your long-term technical debt.
The goal for this presentation is to cover the following:
- When you should and should not use GO
- Pros and cons of the language compared to others
- Efficient architecture and design, focusing on reuse and service patterns
Java EE microservices architecture - evolving the monolithMarkus Eisele
With the ascent of DevOps, microservices, containers, and cloud-based development platforms, the gap between state-of-the-art solutions and the technology that enterprises typically support has greatly increased. But some enterprises are now looking to bridge that gap by building microservices-based architectures on top of Java EE.
In this webcast, Red Hat Developer Advocate Markus Eisele explores the possibilities for enterprises that want to move ahead with this architecture. However, the issue is complex: Java EE wasn't built with the distributed application approach in mind, but rather as one monolithic server runtime or cluster hosting many different applications. If you're part of an enterprise development team investigating the use of microservices with Java EE, this webcast will guide you to answers for getting started.
Stackato presentation done at the Nordic Perl Workshop 2012 in Stockholm, Sweden
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
When things can't be done in such a way that a small change to the db causes many changes and recompilation of your app is this really agile? Do you really believe it or had sworn to it? I use my own technique to minimize or completety eliminate this common problem. Come to see what you might never heard of.
APIs define contracts between a service and a client, and with the rise of representation languages like Swagger, Apiary, and RAML, these contracts can be consumed programmatically and adapted easily into our codebases. Other tools like JSON Schema also contribute to this idea of integration between service and client.
But what about our documentation? If API contracts can be assimilated into software, surely it can drive our documentation too? In this talk, I want to introduce some of the techniques I've used on past projects that allow exactly that. By using remote schemas to generate software, it also allows us to generate working documentation that is always relevant and never out of date. Apart from accuracy, we also get the added benefits of reduced development time, reduced effort, and reduced duplication. We can all of this by documenting once, and re-using across multiple projects!
Jared Whitlock Open Source In The Enterprise Plone @ NovellVincenzo Barone
Novell has used various proprietary CMS solutions over time, including TeamSite and Vignette. None of these solutions met all of our needs, nor were they easy to modify. We began looking at different Open Source CMS options, and decided on Plone. This presentation will briefly discuss Novell's proprietary CMS history, why we chose Plone, what we are currently using and developing, and our plans for the future. It will also discuss our architecture for making Plone successful for enterprise websites.
What are the actors? What are they used for? And how can we develop them? And how are they published and used on Azure? Let's see how it's done in this session
Why Node, Express and Postgres - presented 23 Feb 15, Talkjs, Microsoft Audit...Calvin Tan
How Node, Express and Postgres and help meet the challenges of building a scalable Web Service.
Node is event-oriented and able to take high load.
Express makes your code very simple and maintainable. Supports API-styled web service.
Postgres supports your data needs with a very flexible data structure.
Robotics, Search and AI with Solr, MyRobotLab, and Deeplearning4jKevin Watters
Here is the slide deck from my presentation at the Activate Conference in Montreal. The session is available on YouTube here: https://www.youtube.com/watch?v=BGHQ-WAWA98
My 6th. revision of my Stackato presentation given at the German Perl Workshop 2013 in Berlin, Germany,
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
The rise of cloud and containers has led to systems that are much more distributed and dynamic in nature. Highly elastic microservice and serverless architectures mean containers spin up on demand and scale to zero when that demand goes away. This generates a continous stream of infrastructure data.
On the business side, we have started storing lot of data and this data contains enormours information, specially when married with infrastructure data this gives holistic health information of the entire platform. We will talk about how to achieve this kind of fine-grained observability at scale in real-time.
Il processo di certificazione della capacità operativa delle applicazioni web è basato su un metodo analitico che permette di predire il comportamento del sistema in produzione.
Il comportamento dell’applicazione viene misurato durante test eseguiti nell’ambiente di stress che usano carichi di lavoro progressivamente crescenti. Attraverso l’andamento dei principali parametri di performance si costruisce un modello lineare che descrive il comportamento del sistema in funzione del carico di lavoro. Tale modello è utilizzato per prevedere le performance del sistema in produzione.
Saranno presentati alcuni esempi concreti, ognuno con necessità e complessità diverse, in cui abbiamo applicato con successo il processo di certificazione. Per ognuno di essi mostreremo le specificità dell’analisi preliminare, gli strumenti software disponibili, gli obiettivi preposti e come questi siano stati raggiunti utilizzando il metodo esposto.
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
A review on techniques and modelling methodologies used for checking electrom...nooriasukmaningtyas
The proper function of the integrated circuit (IC) in an inhibiting electromagnetic environment has always been a serious concern throughout the decades of revolution in the world of electronics, from disjunct devices to today’s integrated circuit technology, where billions of transistors are combined on a single chip. The automotive industry and smart vehicles in particular, are confronting design issues such as being prone to electromagnetic interference (EMI). Electronic control devices calculate incorrect outputs because of EMI and sensors give misleading values which can prove fatal in case of automotives. In this paper, the authors have non exhaustively tried to review research work concerned with the investigation of EMI in ICs and prediction of this EMI using various modelling methodologies and measurement setups.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
Django in enterprise world
1. Django in Enterprise World
PyCon4
9 May, 2010
Simone Federici
s.federici@gmail.com
2. Obiettivo
Django è sulla bocca di tutti, è un full stack framework che ha
messo una pietra di storia nel mondo python, e non solo.
Ma perchè, in Italia, le grandi aziende per il web non riescono
a uscire dal tunnel J2EE/JSF o, peggio, Struts?
In questo talk porto alla luce differenze sostanziali di
approccio alle problematiche comuni di applicazioni web, e
ad architetture più complesse Enterprise. Ma cosa significa
Enterprise? Tutto ciò che i clienti definiscono Enterprise lo è
veramente?
Come javista che pythonista, parlerò di cosa il mondo java
rimprovera al mondo python e come ho scoperto che le
accuse fanno acqua...
3. Agenda
• Mini Django Overview (ma dovreste già conoscerlo)
• Enterprise World
o Multi Tiers (client, web, business, EIS)
o Conteiners, WebServices (SOA)
o Transactions
• Development
• Deployments
• Scalability, Accessibility, and Manageability
• Q?
5. Django mini overview (2)
def year_archive(request, year):
a_list = Article.objects.filter(pub_date__year=year)
return render_to_response('news/year_archive.html', {'year': year, 'article_list': a_list})
{% extends "base.html" %}
{% block title %}Articles for {{ year }}{% endblock %}
{% block content %}
<h1>Articles for {{ year }}</h1>
{% for article in article_list %}
<p>{{ article.headline }}</p>
<p>By {{ article.reporter.full_name }}</p>
<p>Published {{ article.pub_date|date:"F j, Y" }}</p>
{% endfor %}
{% endblock %}
6. Django mini overview (4)
from django.forms import ModelForm
class ArticleForm(ModelForm):
class Meta:
model = Article
exclude = ('title',)
ArticleForm(request.POST).save()
ArticleForm(instance=Article.objects.get(pk=1)).save()
ArticleForm(request.POST, instance=Article.objects.get(pk=pk)).save()
<form action="/form/" method="post">
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
7. Django mini overview (4)
Authentication backends
Middleware
Validators
Commands
Custom model fields
Custom template tags
Custom template filters
Custom storage system
PDF, CVS, JSON, XML
Jython
Deploying
Legacy database
Error reporting via e-mail
Initial data
Managing files
Testing Django applications
Django’s cache framework
Conditional View Processing
Sending e-mail
Internationalization and localization
Pagination
Serializing Django objects
Django settings
Signals
A lot of pluggable applications...
South (Data and DDL migrations)
8. New Django 1.2 Features
• Model Validation
• Multi Database
9. Enterprise World
Defines an architecture for implementing services as
multitier applications that deliver the scalability,
accessibility, and manageability needed by enterprise-
level applications.
Distributed multitiered application model
10. • Web
o browser
o ajax
o flash
o flex
• GUI
• Batch
• DB
• Legacy
• NO SQL
• FTP
• Remote
• JMS!
• Persistence
Entities
• Session Beans
• Message-
Driven Beans
• Presentation-oriented
o GET,
o HEAD,
o POST,
o PUT,
o DELETE
• Service-oriented (WS)
o XML-RPC
o SOA
o REST
o JSON
11. EE Containers
Centralized Configuration
• JNDI
• Datasource e Connection Pool (DB tuning)
• Mail Server (SMTP configuration)
• Enterprise JavaBeans (EJB) container
• Web container
• Application client container
• Applet container
12. Web Tier
Web Applications
• Servlet
• Filters
• Session Listner
• CustomTag
• Locale
• JSF (why?)
Web Services
• XML
• SOAPTransport
Protocol
• WSDL Standard
Format
• UDDI and XML
Standard Formats
• Attachments
• Authentication
13. Business Tier
Local and RemoteEnterprise bean is a server-side component that encapsulates the business logic of
an application. For several reasons, enterprise beans simplify the development
of large, distributed applications.
• the bean developer can concentrate on solving business problems because the
container is responsible for system-level services such as transaction
management and security authorization.
• the client developer can focus on the presentation of the client. The client
developer does not have to code the routines that implement business rules or
access databases.
• because enterprise beans are portable components, the application assembler
can build new applications from existing beans.
When
• The application must be scalable
• Transactions must ensure data integrity
• The application will have a variety of clients
Type
• Session (stateful/stateless)
• Message-Driven
• Asyncronous
14. Persistence
ORM
• provides an object/relational mapping
facility to developers for managing
relational data in applications.
o The query language
Finding Entities
Persisting Entity Instances
o Object/relational mapping metadata
Entities, Multiplicity, One-to-one, One-to-many,
Many-to-one, Many-to-many
Cascade Deletes
15. Services
Authentication
• Sucurity
o Initial Authentication
o URL Authorization
o Invoking Business Methods (remotly)
• Realms,Users,Groups, and Roles
o LDAP or DB
• SSL and Certificates
16. JMS
Asynchronous Messagges
• Allows applications to create, send, receive, and read messages using reliable,
asynchronous, loosely coupled communication.
• Messaging is a method of communication between software components or
applications. A messaging system is a peer-to-peer facility: A messaging client
can send messages to, and receive messages from, any other client. Each client
connects to a messaging agent that provides facilities for creating, sending,
receiving, and reading messages.
• Messaging enables distributed communication that is loosely coupled. A
component sends a message to a destination, and the recipient can retrieve the
message from the destination.
• Asynchronous:
provider can deliver messages to a client as they arrive; a client does not have to
request messages in order to receive them.
• Reliable:
can ensure that a message is delivered once and only once. Lower levels of
reliability are available for applications that can afford to miss messages or to
receive duplicate messages.
17. Transactions
• A typical enterprise application accesses
and stores information in one or more
databases.
o TransactionTimeouts
o Updating Multiple Databases
20. It's python!
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
21. Why people ask for Struts or JSF
Programmers?
• Because they want:
• XML programming
• No simple URL mappings (is XML not RE)
• @nnotations with no logic inside
• S****d Beans with getter and setter
• the validation written in XML
• Some complex container to inject A->B
• An enterprise language...
• Easy deploy: any fool can do this!
23. Interview
When develop an enterprise
application?
• High number of users
• Distribuite Applications
• Transactional
• Clustering
o High Reliability
o Faul Tolerance
• Load Balancing (plugin)
o Stiky sessions