Original PDF Flash format Kurs-for-IT-uTvIKlere  


Kurs For IT UTvIKlere

En av vErdEns viktigstE konfEransEr
innEn Microsoft-tEknologi
The DEVELOPER
Nr 1/ 2010
og sMidig utvikling
KURS FOR IT-UTVIKLERE OG LEDERE – KURSOVERSIKT
NINE QuEStIONS
to assess Team Structure
Side 8
16-18 juni i oslo spektrum
Robert C. Martin

CLEAN CODE
forEdragsholdErE i vErdEnsklassE
Side 12
Midt i oslo sEntruM
KuRSOVERSIKtEN I NY DRAKt
fra side 14 til side 23
WHAt’S NEW
in .NET 4.0
Side 3
sikrE dEg
EarlY Bird
BillEttEr nÅ!
News from
SpringSource
Side 10
ndc2010.no

L Et nytt spennende år! What’s New in .NET 4.0?
Vi står for E D
an et nytt spennende år med nye kurs og ny
E
e aktiviteter. For at du skal få førstehånds
informasjon om hva vi til enhver tid kan tilby, vil vår kurskatalog fra nå av bli publisert fire
By Richard Blewett
ganger i året.
Vi gleder oss til å ta fatt på det nye året,
Godt igang med NDC2010
Visual Studio 2010 lanseres i mars.
Vi er al erede godt i gang med Norwegian
.NET 4.0 is a big release. There are many library and framework
Spring er allerede klar med versjon 3.
Developers Conference, NDC 2010, som i
.
R
Mer enn en kurskatalog
Den nye kurskatalogen har fått navnet
”The Developer”, og ved siden av
oppdatert kursinformasjon, vil hver
Da er vi som alltid ute med nye og
år arrangeres i dagene 16. til 18. juni.
NET
changes but also this is the first time since 2005 that we have
utgave være fyllt med aktuelt og
oppdaterte kurs.
Denne gangen har vi lagt konferansen til
spennende fagstoff. Stoffet har
Oslo Spektum, som er mindre, og som vi
had significant architectural change to the core .NET runtime.
relevans til våre kurs og forfattes av de
Følg med på hjemmesiden
synes passer svært godt for vår type
som utvikler og holder kursene. En av
Det kan også lønne seg å ta en tur innom
arrangement. Bil ettsalget startet al erede
In this article I’ll take you through a whirlwind tour of what is
utgavene blir ”NDC Magazine”, med
hjemmesiden vår fra tid til annen. I løpet
i midten av desember og mange har meldt
agenda og all praktisk informasjon
av 2010 kommer vi nemlig til å invitere
seg på. Også partnerne slutter bredt opp
new and what has changed.
knyttet til NDC2010. I dette nummeret
deg til flere frokostmøter, dagsseminarer om konferansen, med Microsoft i spissen.
- som etter planen utkommer 15. mars
og konferanser. Vi synes det er trivelig å
I år legger vi opp til seks spor, hvorav to er
- er artiklene (selvsagt) forfattet av
jobbe med kurs. Hver dag treffer vi
”smidige”. Nok en gang har vi sikret oss de
foredragsholderne på NDC2010.
hyggelige kursdeltagere, og vi har gleden beste speakerne og vi kan trygt si at NDC
Changes in the CLR
av å treffe mange av dem igjen og igjen.
har vokst seg til en international konfe-
There have been significant changes
Stadig noe nytt
Det betyr vel at de er fornøyd og at
ranse av de al er beste. Formålet med
three parts of the CLR: the Garbage
Å arbeide med kunnskap er stimulerende, kurstilbudet er bra!
konferansen er å gi utviklermiljøet en
hver dag får vi spennende henvendelser
skikkelig faglig ”vitamininnsprøytning”. Det
Collector (GC), the Thread Pool and
og vi setter stadig sammen kurs
Men selv om vi i ProgramUtvikling er
kan vi al erede love deg at du vil få. Så hvis
Code Access Security (CAS). The
tilpasset den enkelte bedrift. Dette
tilfreds med vår arbeidsdag, tenker vi
du har planer om å delta på én konferanse i
CAS and GC changes were a result
synes vi er morsomt, og kan med hånden
stadig på hva vi kan gjøre bedre: Jobbe
år, er valget enkelt: NDC2010.
of customer feedback – addressing
på hjertet si at vi blitt gode på nettopp
”smidig” , tenke ”lean”, og ha fokus på å
issues people were experiencing in
dette.
levere “verdens beste kurs”.
Kjersti Sandberg
the field; the thread pool changes
came from the needs of the new
concurrency library, the Parallel
ProgramUtvikling AS
Framework Extensions (PFx). These
changes, although not immediately
affecting many applications prepare
the way for the next generation of
.NET code that starts to take
advantage of the increasing power
of multi-core processors
In this article I’ll take you
through a whirlwind tour
of what is new and what
has changed.

C# Changes
af Morten Brun
C# 3.0 saw a lot of changes that
affect many developers’ lives, not
ProgramUtvikling: Henning, Jakob, Siv, Kjersti, Rune, Kristian og Asrah. Foto: © Thomas Flaten / nyebilder.no
just because it introduced the
ProgramUtvikling As har spesialisert seg på kurs for IT-utviklere og prosjektledere.
constructs that support LINQ.
ornebu og fotogr
F
Vi holder avanserte kurs i C#.NET, SQL, UML, JAVA, Testdrevet utvikling, Domain-Driven
The changes in C# 4.0 are less far
Design, Maven, JEE, Spring og de mest populære fremgangsmåtene innenfor smidig
reaching but will be particularly
utvikling eller Agile Methodology, blant annet Scrum og LEAN. De fleste kurs arrangeres
useful to people building systems
i Oslo, men selskapet holder også bedriftsinterne kurs over hele landet. Rundt 30 prosent
that use COM interop (e.g. Office
F
orsidefoto: © IT
av alle kurs er bedriftsinterne, de øvrige er åpne for alle.
integration). For example, the
Richard Blewett
(continues on next page)
3
4

(continued from previous page)
addition to the headline functional-
ity of assisting the parallelization of
SharePoint dag ”Developing in
computational algorithms.
Workflow
Workflow version 4.0 is a complete
SharePoint 2010 med Sahil Malik
rewrite of the existing workflow
engine. It greatly simplifies workflow
development with new designers
and tools. Workflows are now
declaratively authored in XAML
AGENDA
although the tooling still gives you a
rich GUI designer. Creating your own
• An introduction to SharePoint 2010
units of work (called activities) is
now much simpler – even for rela-
• Developing for SharePoint 2010, familiarization
with your dev environment.
Version 4.0 greatly
simplifies workflow

• SharePoint basics – Sites, Site Collections, and
Basic features and security layout in SharePoint
development with new
designers and tools.

• Developing for SharePoint, using VS2010
tively complex components. There is applications. The new Version, 4.0,
There are many small changes to the
• LINQ in SharePoint 2010
now a lightweight execution engine
has addressed many of those criti-
Base Class Library (BCL) with the
allowing workflow to be used to run
cisms and is now a much more
introduction of Tuples, Complex
• WebParts and Pages, details on sandbox
synchronous scripted tasks and the
rounded offering with support for
Numbers, Unbounded Integers and
webparts
more heavyweight but powerful
lazy loading, self tracking entities and much more and finally ASP.NET MVC
asynchronous execution model is
allowing you to use your own classes
is shipping in the box.
still available. Finally hosting the
for mapping - known as POCO
• The Client Object Model, custom services,
workflow designer in your own
(Plain Old CLR Objects) support.
What’s New in .NET 4.0 is a class
and the ADO.NET Data Services API
applications is now something that
that, over 5 days, will introduce you
mere mortals can actually achieve.
And still more...
to all of these changes and many
• Managing your Data in SharePoint – Lists,
WCF and WPF have both received
more in the typical DevelopMentor
List Definitions, Field Types, and Content Types,
Entity Framework
new functionality. WPF gets better
deep dive style.
TiD: 1. februar 2010 09:00 – 16:30
Tagging and Taxonomy
Introduced in .NET 3.5 SP1 the Entity
text and graphics handling as well

(registrering fra klokken 08:00)
Framework (EF) is Microsoft’s latest
as Windows 7 shell integration.
Object Relational Mapper (ORM)
WCF gets simplified configuration,
Kurs med
STED: Felix Kino
removing the need of developers to
WS-Discovery support and the
Richard Blewett:
write low level data access code.
fantastic Routing Service that
PRiS: Pris 850,- eks moms (inklusive lunsj)
The first incarnation of EF
provides out-of-the-box support for
15. FEbRUAR
Arrangeres av
provided a simple model for data
many complex messaging patterns
access but drew criticism that it
such as failover, multicast and data
What’s new in .NET 4
PåMELDiNG: www.programutvikling.no
wasn’t really ready for enterprise
dependent routing.
Møt noen av våre dyktige instruktører
Robert C. Martin
Michele Leroux
Mike Cohn
Mårten Haglind
Jonas Bonèr
Roy Osherove
Eric Evans
Michael Feathers
Andy Olsen
Ian Griffiths
Arne Laugstøl
Arjan Einbu
Juval Lowy
Trygve Laugstøl
Bustamante
Craig Larman
Dag Hoftun
Kristian Nordal
Jeff Sutherland
Eivind Nordby
Kevlin Henney
Mike Tarlton
Kaare Nilsen
Geoff Watts
Henrik Kniberg
Sahil Malik
Dave Wheeler
Itzik Ben-Gan
Richard Blewett
Knutsen
6

SHARE
Sandboxed Solutions
in SharePoint 2010
By Sahil Malik
The farm administrator in addition
since sometimes you want to halt
ing sandboxed solutions”. Certain
Visual Studio2010 comes with good development tools for
to monitoring these sandboxed
execution and increment resource
sandboxed solutions that are known
solutions, can also set limits on the
usage points! But sometimes you
to be constantly troublesome, can be
SharePoint 2010. When you create a SharePoint 2010 project
resource allocation to sandboxed
just want to count resource usage
blocked by the farm administrator.
in Visual Studio, you are presented with a dialog box asking you
solutions on a per site collection
points, but not halt yet!
basis using the standard quota
Finally, if you have code that is more
two basic questions!
mechanism. There are fourteen
restricted, and better monitored,
The biggest advantage of
different metrics that contribute to
and less damaging to your server
such resource allocation, and it is
environment in general, you can be
sandboxed solutions is that
Which local site do you want to use
instance, sometimes your code may
custom code to your SharePoint
done using a points based system.
more confi dent when you deploy it.
for debugging?
not run inside w3wp.exe. It may run
server. Custom code is that essen-
they can be deployed by the Thus the biggest advantage of
This is the same machine that you
under a separate EXE called
tial evil that is impossible to deliver
The farm administrator allocates a
sandboxed solutions is that they can
are running SharePoint on. While
SPUserCodeService.exe. That would real world projects without, but also
certain number of points to a site
site collection administrator be deployed by the site collection
some may chuckle that why does
be a sandboxed solution which I will
cause the most headaches and
collection. If any sandboxed solution
administrator of a site collection,
of a site collection, and
Visual Studio have to ask such a silly cover in more detail later in this
effort. A sandboxed solution is
causes the number of points to jump
and they are deployed directly into
question, after all this is always my
chapter, but for now, that is the
custom code that runs in a safe
over the total allocated points, all
the solution gallery in a site collec-
they are deployed directly
local machine!! The reality is, some-
second question that Visual Studio
sandbox. It runs under some standard
sandboxed solutions in that site
tion. Also, if a sandboxed solution
times you may have alternate URLs
wishes you to answer. It is asking
non-negotiable restrictions, so it can
collection are halted until a timer
into the solution gallery in does not deploy an assemblies, it
setup even for your local site, and
you, if you intend to create a sand-
job that runs every 24 hours comes
can even be deployed by individuals
that may be important in certain
boxed solution, or a farm solution?
resets the site collection. Also, while a site collection.
with full control to a site collection.
development tasks. Secondly, the
Custom code is that
you are under the allocated number
This greatly alleviates the headache
site collection you intend to debug
A farm solution is what used to be a
of points, and you try doing some-
I like to think this level of monitoring of the farm administrator.
essential evil that is
your code on, may not be a root level solution in SharePoint 2007. Basi-
thing naughty like format my c:
very much like a family cell phone
site collection. And fi nally, if you
cally it had unfettered rights to your
drive, the execution is blocked, a
plan. Dad, Mom, Sister, and Son have This was a brief overview of sand-
impossible to deliver real
have multiple web applications, this
SharePoint farm - it could do
certain number of confi gurable
a pool of 2000 minutes to share.
boxed solutions - they are restric-
tells Visual Studio which w3wp.exe
anything. Sounds like a good propo-
world projects without,
points are charged, and the solution
Now if the Son somehow starts
tive and thus secure, better moni-
process to attach to for debugging!
sition, but this created an immense
can attempt to do something naughty calling his Russian girlfriend a little
tored, better administered, and
So you see, it’s not such a silly
headache for the two poor farm
but also cause the most
again (only to be blocked again, and
too much, everyone’s cell phones
easier to deploy. You can read more
question after all! Now is it?
administrators in your organization,
charged more points!). On each of
quit working! Now dad has to call the about sandbox solutions on my blog
headaches and effort.
And as I said, providing the URL tells who were then expected to some-
these metrics, you have the ability
phone company, and request the
at - http://blah.winsmarts.
Visual Studio which web application
how review every line of code being
to set an absolute limit of resource
entire family plan to be allowed to
com/2009-12-SharePoint_2010_
you will debug your code on, and
deployed to the server. A task they
only do certain things and is
points before the execution is halted, run, and the offending solution (the
Sandboxed_Solutions__The_Defi ni-
thus, which w3wp.exe process
intend to get around to doing right
prevented from doing certain
or an incremental number of points
son’s cell phone), can now be blocked tive_Guide.aspx
should Visual Studio attach itself to
after they solve world peace, and
other things. Mostly those certain
that are charged, without blocking
execution. Thus the farm administra-
during debugging, so you as a
hunger. Frankly it is unreasonable to other things that cause the most
resource allocation. This is useful
tor also has a concept called “Block-
Happy SharePointing!
developer can now create a break-
expect two overtaxed IT Pro people
headache.
point, hit F5, and your breakpoint
to review every single developer’s
just hits! Something our fellow .NET
code. And since some developers
In addition to being restricted to
Kurs med Sahil Malik:
developer bretheren have been
can be really crafty, custom code,
doing only certain things a sand-

doing since 2001, is now fi nally
while being necessary, is the #1
boxed solution can be monitored
available out of the box to Share-
reason for support issues on Share-
by two levels of administrators.
25. JANUAR
Point developers.
Point in general.
The site collection administrator
SharePoint 2007 and
can monitor them through Site
.NET 3.5 for Developers
That was my marketing side talking!
but, what is a sandboxed solution?
Actions -> Site Settings -> Solution
Yes in simplistic scenarios, F5
A sandboxed solution is a new
Gallery, and the farm administrator
12. APRiL
debugging will work. But the reality
concept introduced in SharePoint
can monitor them through central
SharePoint 2010 for
is, in many situations you will fi nd
2010. A solution as I mentioned
administration on a per site
Architects and Developers
yourself attaching to processes. For earlier is how you deploy new
collection basis.
7
8

SCRUM two teams (and avoid having anyone compelling productivity and quality 8. Does the design support a clear
on three)? A well-conceived team
advantages of small teams, the
understanding of accountability?
structure for an organization that
majority of teams in a good design
A well-designed team structure will
Nine Questions to
is not attempting to do too many
should have fi ve to nine members.
reinforce the concept of a shared,
concurrent projects will reduce
all-teams accountability for the
multitasking to a tolerable level.
6. Does the structure minimize the
overall success of the project while
If more than 20% of all team mem-
number of communication paths
providing each team with clear
bers belong to more than one team,
between teams? A poor team struc-
indicators of their unique account-
Assess Team Structure
consider an alternative team design
ture design will result in a seemingly
abilities.
or deferring some projects.
infi nite number of communication
paths between teams. Teams will fi nd 9. Did team members have input
3. Does the structure maximize
themselves unable to complete any
into the design of the team? During
By Mike Cohn
the amount of time that teams will
work without coordinating fi rst with
the early stages of your transition
remain together? If other factors are
too many other teams. Some inter-
to Scrum, this may not be possible.
equal, you should favor a design that
team coordination will always be
Individuals may not yet have enough
allows team membership to persist
required. But, if a team that wants to
experience delivering working,
It is perhaps a myth, but an enduring one, that people and their
over a longer period.It takes time for
add a new fi eld on a form is required
tested, ready-to-use products by
individuals to learn to work well
to coordinate that effort with three
the end of each sprint. Similarly,
pets resemble one another. The same has been said of products
together. Amortize the cost of that
other teams, as I’ve seen, then the
some individuals may be initially
learning over a longer period by trying communication overhead is too high.
too resistant to Scrum to contribute
and the teams that build them. If it is true that a product refl ects
to leave teams together as long as
to team structure discussions in
possible.
7. Does the structure encourage
constructive ways. In these cases,
the structure of the team that built it, then an important decision
teams to communicate who wouldn’t
it is acceptable for managers
4. Are component teams used
otherwise do so? Some teams will
outside the team to design an
for any Scrum project is how to organize individuals into teams.
only in limited and easily justifi able
just naturally communicate with
initial team structure.
cases? Most teams should be created each other. An effective team design
This paper presents a set of guide-
structure changes, reask the
required to do things they are bad at.
around the end-to-end delivery of
encourages communication among
An effective team structure is one
lines to consider in designing an
questions until you can answer
Good team members are willing to
working features. In some cases, it is
teams or individuals who should
of the most critical factors in the
appropriate team structure.
“yes” to each.
do whatever is necessary for
acceptable to have a component
communicate but may not do so on
success of any agile endeavor.
Each guideline is presented in the
the success of the project, but that
team developing reusable user
their own accord. In fact, one valid
Poorly structured teams will lead
form of a question to be asked of a
1. Does the structure accentuate
doesn’t relieve us from the goal of
interface components, providing
reason to put someone on two
to ineffi cient teamwork, excessive
current or proposed team.
the strengths, shore up the weak-
trying to fi nd a team structure that
access to a database, or similar
teams is that doing so will increase
integration challenges, multitasking,
The questions are intended to be
nesses, and support the motivations accentuates the strengths of as many
functionality. But these should be
the communication between those
low morale and other problems.
asked iteratively. Ask each question
of the team members?
team members as possible.
exceptions.
teams. If lack of communication
By using these nine questions to
of a current or proposed team,
People don’t enjoy being on a team
between two teams is a concern,
carefully consider how teams are
changing the structure as appropri-
where they are not able to make use
2. Does the structure minimize the
5. Will you be able to feed most
splitting a person’s time between
organized you can avoid these
ate based on the answer. As the
of their strengths or are constantly
number of people required to be on
teams with two pizzas? Given the
those two teams is easily justifi ed.
problems.
Kurs med Mike Cohn
26. JANUAR OG 26. APRiL
Certifi ed ScrumMaster
28. JANUAR OG 29. APRiL
Certifi ed Scrum Product
Owner
28. APRiL
Succeeding with Scrum
9
10

J
the SpringSource dm Server, based
on Apache Tomcat, Equinox and
Spring-DM. The purpose of dm
Server is to enable developers to
make use of OSGi in their own web
and other enterprise applications,
while still being able to use existing
frameworks and libraries like Spring
and Hibernate. OSGi isn’t just used
‘under the hood’: application devel-
opers can start to use OSGi modules
By Joris K
AVA
OSGi: Modularity without
restarts for Enterprise
Java applications
uipers, senior consultant at SpringSource
(so-called ‘bundles’) themselves to
modularize big applications that
communicate with each other
through an in-VM service oriented
People that have kept track of the developments around Java 7
architecture, where dependencies
will have noticed that modularity is a term that pops up every-
have been made explicit and serv-
ices provide a much looser coupling.
where; there are several JSRs that concern this topic, and there’s
This has several advantages. One is
a greater potential for reuse:
also project Jigsaw, a Sun-initiative for modularizing the VM.
multiple applications can use the
same code, or even the same
services. With multiple applications
Where most of these JSRs discover
tant part here is Spring Dynamic
party libraries where dependencies
running on a single server this often
new territory, OSGi is a standard
Modules (Spring-DM), an open
have to be mutually compatible.
means less memory usage as well:
that has proven itself time and again source framework that integrates
For sharing standard functionality
libraries can be loaded once per
in various applications already. OSGi the programming model of the
across applications the only real
server instead of for every applica-
came into being around 1999 in the
Spring framework with OSGi to
option is to resort to remoting
tion.
embedded space. To allow different
create a solution where OSGi
solutions: a facility to offer local,
applications to run together effec-
obtains a full, mature component
dynamic services easily shareable
To benefi t from these advantages,
It also offers ‘scoping’, where types
tively and effi ciently in a single VM
model. The pioneering work that was across multiple applications is
it’s necessary that all used libraries
and services within an application
About the author
without restarts after every instal-
done in Spring-DM is now standard-
lacking.
are available as OSGi bundles with
are not visible to other applications. Joris is a Senior Consultant at
lation or upgrade, plain Java was not ized in RFC-124 that’s part of OSGi
the proper meta-data. To meet the
This allows multiple versions of a
SpringSource, where he trained a
enough.
4.2 and form the reference imple-
Currently the application of OSGi in
demand for bundle versions of third
single application to run on the same growing number of developers in
mentation of this new standard.
most servers is limited to the inside:
party libraries, SpringSource offers
server without causing confl icts.
OSGi as well as all the rest of the
To meet these requirements the
it doesn’t affect application develop-
an Enterprise Bundle Repository,
Furthermore, the dm Server pro-
Spring Portfolio; Core Spring,
OSGi standard was created. This
ers in any way. The market is shift-
found at http://www.springsource.
vides solutions for working with
Enterprise Integration and Rich Web
standard is governed by multiple
To allow different appli-
ing, though: various products are
com/repository. By using this
enterprise libraries that use tech-
Applications.
organizations united in the OSGi
becoming available that target the
application, hundreds of enterprise
niques that don’t work within a
Consortium. There are several
cations to run together
use of OSGi on the server side to
java libraries can be downloaded as
standard OSGi environment, like
At the SpringSource University we
implementations of the OSGi
enable their users to develop
proper OSGi bundles. These ver-
dynamic code generation or ‘weaving’ have educated over 10,000 people
standard, of which version 4.2
effectively and effi ciently
enterprise applications that profi t
sions are made available for free
of code, as used by many JPA
worldwide.. Developers and opera-
was just released.
from the features OSGi has to offer.
and can be used with any OSGi
implementations. It also offers a full tions are sure to experience both
in a single VM without
They often do, however, require a
implementtation, so not just with
solution to work with web applica-
theoretical and hands-on education-
Application of OSGi
different way of working than what
the dm Server.
tions, something that OSGi itself
al programs on what many before
restarts after every instal-
For years the application of OSGi
most enterprise developers are used
only has limited support for.
have referred to as “The best
was limited to embedded devices
to. One of the reasons why most
Enterprise Software class I have
lation or upgrade, plain
An important feature that
(e.g. BMW uses it in their cars) and
application servers haven’t exposed
Conclusion
ever attended”.
some special-purpose applications.
Java was not enough.
OSGi to the application developers
OSGi is a rising star within the
the dm Server adds is the
During the last couple of years,
yet is that its usage also introduces
Enterprise Java world. The benefi ts
For more information on the
though, more and more interest in
some new problems. Most of these
of being able to work in a truly
SpringSource University see:
concept of an application
OSGi has risen in the Enterprise
Server-side OSGi
problems are caused by the fact that
modular fashion attracts many
www.springsource.com/training
Java community. Many application
All of this means that a whole new
many existing enterprise libraries
consisting of multiple
developers. Many application
servers are already using OSGi
application area for OSGi has
and frameworks contain code that’s
servers are using OSGi already,
internally and there are several
emerged: the server side. The
not compatible with the OSGi model,
bundles.
and with innovative products like
Kurs med SpringSource
frameworks and runtimes available
possibilities offered by OSGi to
which enforces very strict visibility
the SpringSource dm Server the use
for enterprise application developers nicely modularize applications and
rules. For example, by default a
An important feature that the dm
of OSGi becomes available to
18. JANUAR og 1. MARS
to use OSGi themselves. There’s also to follow a dynamic, service-based
library cannot ‘see’ code from the
Server adds is the concept of an
developers as well. It will take time
a number of solutions to support
approach form a good match for the
applications that use it, while the
application consisting of multiple
before OSGi has become main-
Spring and Hibernate
developers in dealing with the
wishes and requirements that exist
workings of many libraries are based
bundles. Packaging bundles as an
stream technology for server side
complexity that a fully dynamic
nowadays for application servers,
on exactly this principle.
application gives a unit of mainte-
development, but it seems undeni-
10. MARS
environment like OSGi brings with it.
like seamless upgrades. Also, many
nance, so deployment and monitor-
able that Enterprise OSGi is a
problems are experienced by having
The SpringSource dm Server
ing of an application become much
development that we’ll see a lot
Spring Web Servies
A framework that plays an impor-
to use multiple versions of third
A different solution in this area is
easier than with individual bundles.
more of over the coming years.
11
12

TDD
Clean Code
By Robert C. Martin
Have you ever been slowed down by bad code?
If you are a programmer, then your answer is certainly “yes!”
All programmers have been slowed down by bad code.
Now perhaps you are thinking that
So why do we write it? We know it’s
rushing to be unprofessional. By the
programmers are slowed down by
going to slow us down. We know it’s
same token, the programmer who
code that they didn’t write them-
going to cause bugs and problems.
rushes through code in order to get
selves. We all have a built in immune
We feel the weight of that anvil.
done “quickly” is also behaving
system that reacts to code that’s
Why do we pick the anvil up and run
unprofessionally.
not ours. At fi rst we don’t like it
with it?
because we don’t understand it.
Software professionals know that
We might wrinkle up our noses and
you can not rush software. Rushing
mutter “What did he do that for?”
software always slows you, and your
while reading it. But after awhile, if
whole team, down. You think you
the code is reasonably well written,
might get a small benefi t from
we begin to appreciate what the
rushing, but that benefi t is com-
author did, and we accept the code
pletely consumed within a few hours
as “good”.
by the confusion and disorder that it
causes. Professionals know that the
But then there’s code that’s just
only way to go fast, is to go well.
plain bad. Code that has long
raggedy functions that go on and on
So, professionals keep their func-
for page after page. Code that has
tions short. They use evocative
one or two letter variables declared
names for their functions, classes,
far from where hey are used. Code
and variables. They create many
that has globals, or long-scoped
small classes, instead of a few large
variables that are used, and reused
The answer is simple. We are fools.
ones. They do not pack their argu-
for different purposes. Code with
For some strange reason we believe
ment lists with more than 3 or four
functions that have 8, 9, or even
that writing bad code makes us go
arguments. They work hard to keep
10 arguments, several of which are
faster. In spite of our own signifi -
their code clear, clean, and readable.
booleans. Code with comments that
cant experience to the contrary.
They don’t rush. And by doing this,
don’t correctly describe what the
In spite every time we have been
they know they are going as fast as
code does. In short, code that was
slowed down by awful code, we still
they can.
rushed. This is the kind of code that
write it because we think it’s faster
slows us down.
to write it bad, than to write it good.
Kurs med Robert C. Martin
Not only does it slow us down the
Not only is this attitude wrong, it
fi rst time we see it. It slows us down is unprofessional. You certainly
26. APRiL
every time we see it. What’s more, it
wouldn’t want your doctor taking
SOLiD PPP
slows everyone else down too,
quick shortcuts while he was doing
including the original author. Such
a coronary bypass on you. Nor
29. APRiL
code is a drag on the whole team. It
would you want your lawyer to rush
slows the whole project down. It’s
through his research in defending
Clean Code: Agile Software
like trying to run a race while holding you against a false accusation of
Craftsmanship
a 25 kg anvil.
murder. You would consider such
13
14

SCRuM forts
LEAN
CERtIFIED SCRuM PRODuCt OWNER
Kursforfatter og instruktør: Mike Cohn
LEAN MANAGEMENt & DEVELOPMENt: FROM KNOWING tO DOING


NEW
Er du ansvarlig for å utvikle et system, bør du være klar over at 50% av alle prosjekter er mislykket, og av dem
Author and instructor: Craig Larman
som lykkes inneholder 65 % funksjonalitet som sjelden eller aldri blir brukt. Med Scrum kan du unngå dette.
Lean is the English term used to refer to the Toyota Way, the powerful set of principles and practices that have
Du kan arbeide tett med prosjektteamene, inspisere fremdriften, gi dem veiledning og gjøre forandringer
helped shape what is arguably the greatest company in the world – extraordinary profi t, sustainability, quality,
underveis, slik at det endelige produktet blir optimalt. Kursholder og forfatter Mike Cohn gir deg kunnskapen du
and continuing improvement. In this hands–on course, you will learn and apply key principles and practices of
Mike Cohn
trenger om Scrum, og du får tittelen Certifi ed Scrum Product Owner.
lean thinking as applied to management, development, and services.
Craig Larman
CERtIFIED SCRuM PRODuCt OWNER CSPO
Kursforfatter og instruktør: Geoff Watts
NEXt StEP IN AGILE & LEAN
I dette kurset sertifi serer Geoff Watts deltagerne til Certifi ed Scrum Product Owner. Gjennom en god miks
Instructor: Allan Kelly
av teoretiske forklaringer, problemløsning og praktiske øvelser, vil deltagerne i dette to dagers kurset bli
The objective of this two day workshop is to help teams who are already trained and practicing Agile move to
godt rustet for sitt første Scrum prosjekt som Product Owner.
the next level. The workshop shows how LEAN thinking can help teams deepen their practices, enhance their
performance and deliver greater customer value. Advanced techniques, practices and ideas of Agile software
Geoff Watts
development are examined. These include: variability and quality, managing requirement, value delivery, LEAN
Allan Kelly
principles and approach, and continuous improvement through organizational learning. The course is built
around a series of interactive exercises and case studies together with taught material.
LEADING AGILE REtROSPECtIVES: CONtINuOuS IMPROVEMENt FOR HIGH PERFORMING tEAMS
Instructor: Diana Larsen
Attend this two–day interactive workshop and take–away a practical, fl exible framework for Agile
SCALING LEAN AND AGILE DEVELOPMENt
Retrospectives, as well as increased skill and confi dence for sponsoring, designing, and leading Retrospectives.
Kursforfatter og instruktør: Craig Larman
Examine ways to embed retrospectives in your project lifecycle. Gain insight in how to design, lead, modify and
Dette 2-dags kurset bygger på Craig Larmans nye bok med samme navn som kurset. Kurset er beregnet for
scale Retrospectives specifi cally for your team and organization. Learn techniques for dealing with problems
ledere, produktledere og utviklere. Denne workshopen dekker nøkkelkonsepter og praksis for å implementere
Diana Larsen
and implementing solutions. Identify ways to maintain the relevance of continuous improvement to the work of
Scrum og Agile i stor skala i bedrifter. Les mer om dette kurset på vår hjemmeside.
your team.
Craig Larman
SMIDIG utVIKLING MED SCRuM
SCRuM
Kursforfatter og instruktør: Arne Laugstøl
Kurset gir en innføring i utviklingsprosessen Scrum og smidig utvikling generelt. Deltagerne får innføring
gjennom praktiske øvelser, noe som gir en opplevelse av hvordan det er å jobbe i Scrum–team. Målgruppen
er personer som skal arbeide med Scrum–basert uvikling eller som vil vite mer om Scrum og smidig utvikling. Du
CERtIFIED SCRuMMAStER CSM
trenger ikke å være programmerer for å få utbytte av kurset.
Kursforfatter og instruktør: Mike Cohn
Arne Laugstøl
Dette kurset lærer deg de grunnleggende prinsippene i Scrum, praktisk trening i å bruke Scrum og hvordan
Scrum kan benyttes i både små og store prosjekter. Du vil forstå hvorfor en tilsynelatende enkel prosess som
En av vErdEns viktigstE konfEransEr
Scrum kan ha stor positive betydning for en organisasjon. Kurset gir deg tittelen Certifi ed ScrumMaster.
innEn Microsoft-tEknologi
SuCCEEDING WItH SCRuM - MIKE COHN
NEW
Mike Cohn
Author and instructor:
og sM
Mike Cohn
idig utvikling
Drawing on and expanding on concepts in Mikes Succeeding with Agile book, this one–day course provides
valuable insights into topics such as organizing agile teams, effective teamwork during the sprint, how to lead a
self–organizing team, integrating quality into each sprint, scaling Scrum to hundreds of developers, how to use
CERtIFIED SCRuMMAStER CSM
Scrum with a globally distributed team, being agile while meeting regulatory compliance requirements, enlisting
Kursforfatter og instruktør: Geoff Watts
Mike Cohn
the human resources and facilities groups as allies, and measuring and proving the benefi ts of Scrum.
I dette kurset sertifi serer Geoff Watts deltagerne til Certifi ed ScrumMaster. I tillegg til å være en sertifi sert
Scrum Trainer har Geoff samtidig lang erfaring som smidig Coach. Han ledet blant annet en av de største
16-18 juni i oslo spektrum
smidige organisasjonsendringene i verden, hos British Telecom.

forEdragsholdErE i vErdEnsklassE
Geoff Watts
Midt i oslo sEntruM
På NDC2010 vil du kunne følge
2 smidige spor over 3 dager
CERtIFIED SCRuMMAStER CSM
Kursforfatter og instruktør: Jeff Sutherland
16. - 18. juni i Oslo Spektrum
Scrum har etablert seg som den mest populære metoden for lettvekts (agile) prosjektstyring. Scrum er

en åpen og “ikke-teknisk” framgangsmåte som lett kan kombineres med god praksis fra andre metoder
Kjøp billett på www.ndc2010.no
og rammeverk som for eksempel XP, EVO eller RUP. Metoden er både inkrementell og evolusjonær.
sikrE dEg
EarlY Bird
Jeff Sutherland
BillEttEr nÅ!
ndc2010.no
For fullstendig kursoversikt, oppdatert pris, tid og sted, se www.programutvikling.no
Påmelding: Tlf 67 82 72 35 • kurs@programutvikling.no • www.programutvikling.no
15
16

tEStDREVEt utVIKLING – tDD forts.
tEStDREVEt utVIKLING – tDD
tESt-DRIVEN DEVELOPMENt IN .NEt MAStERCLASS
Kursforfatter og instruktør: Roy Osherove
AGILE tEStING: A ROADMAP tO SuCCESS
Testdrevet utvikling (TDD) er en av hjørnestenene som tillater raske og stadige forandringer i forbindelse med
Instructor: Janet Gregory and Lisa Crispin
smidig (“agile”) utvikling. På dette kurset lærer du å utnytte moderne verktøy og å utforme dine tester så du kan
This three day course explains how testers can become valued agile team members, how
kjenne deg trygg når du gjennomfører forandringer i ditt system.
they contribute to delivering a continuous stream of business value, and ways to overcome
common cultural and logistical obstacles in transitioning to an agile development process.
Roy Osherove
It describes the values and principles that help testers adopt an agile testing mindset, and
Janet Gregory
gives practical alternatives to traditional testing processes, such as defect tracking, metrics,
Lisa Crispin
audits, and conforming to quality models. Students will be shown how to complete testing
activities in short iterations, and how testers contribute on a daily basis during each iteration
tESt-DRIVEN DEVELOPMENt & REFACtORING tECHNIQuES COuRSE
and release cycle.
Kursforfatter og instruktør: Robert C. Martin
Han har vært programmerer siden 1970. Han har publisert en lang rekke artikler og er en populær foredragsholder.
Han har også skrevet bøkene ”Designing Object Oriented C++ Applications using the Booch Method”, ”Agile
Software Development: Principles, Patterns, and Practices”, og ”UML for Java Progammers”. Han er
BEGINNERS FItNESSE –WRItING AutOMAtED ACCEPtANCE tESt
sjefsredaktør for C++ Report og formann i organisasjonen Agile Alliance.
Kursforfatter og instruktør: Robert C. Martin
Robert C. Martin
I dette kurset lærer du å bruke FitNesse for akseptansetesting. Dette er en av de mest smidige og effektive
metodene for testing, både for utviklere, testere, Q&A og business analysts. Dette er et hands-on kurs som
kombinerer undervisning og praktiske øvelser. Kurset passer for testere, programmerere, arkitekter og alle som er
involvert med å skrive, lese, analysere, verifi sere eller utfører akseptansetesting med Fitnesse.
Robert C. Martin
DAtABASE

ADVANCED t-SQL

CLEAN CODE: AGILE SOFtWARE CRAFtSMANSHIP
Kursforfatter og instruktør: itzik ben-Gan
NEW
Author and instructor: Robert C. Martin
Benytt deg av denne unike muligheten til å lære T-SQL av Itzik Ben-Gan. Kurset gir deg en dypere innføring i
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every
detaljene og mulighetene til T-SQL Server 2005 og 2008. Kurset krever at man har minimum ett års erfaring
year, countless hours and signifi cant resources are lost because of poorly written code. But it doesn’t have to
med T-SQL querying og programmering i SQL Server.
be that way? This is a two–day hands–on course in which students learn the principles and practices of Clean
Code as described in Robert C. Martin’s book: Clean Code: A Handbook of Agile Software Craftsmanship. This
Itzik Ben-Gan
Robert C. Martin
course alternates between lecture and exercise so that students can experience, fi rst–hand, the practices and
disciplines of these fundamental topics.
DAtABASEDESIGN, IMPLEMENtERING OG SQL-PROGRAMMERING
Kursforfatter og instruktør: Dag Hoftun Knutsen
LEGACY CODE - tESt WRItING tECHNIQuES
Relasjonsdatabaser er kompliserte og krever kompetanse for å kunne utnyttes optimalt. Mange har brent seg
Kursforfatter og instruktør: Michael Feathers
på å ta i bruk databaser uten å ha nødvendig kunnskap. Kurset vil lære deg det som behøves for å komme i gang.
Dette kurset lærer deg et antall teknikker for å få bryte opp og skrive tester for gammel kode for suksessivt
Du lærer også å unngå de vanligste fallgruvene.
å kunne strukturere den om og jobbe videre med den. Disse teknikkene kan brukes sammen med testdrevet
utvikling (TDD) for å blåse nytt liv i store mengder eksisterende program.
Dag Hoftun Knutsen
Michael Feathers
ORACLE SQL-PROGRAMMERING
Kursforfatter og instruktør: Dag Hoftun Knutsen
En av vErdE
SOLID PPP
ns viktigstE konfEransEr
Dette kurset gir en grundig innføring i SQL generelt, og inkluderer Oracle-spesifi kk funksjonalitet. Kurset
NEW
Author and instructor: Robert C. Martin
omfatter alle sider ved SQL; datadefi nisjon, datakontroll, datamanipulasjon og spesielt stor vekt på spørring.
This three–day course introduces students to the principles, patterns and practices of professional object–
Du lærer også hvordan du kan oppnå god ytelse med god databasedesign. Du vil få praktisk kunnskap gjennom
innE
oriented software development using the Java, C
n Microsoft-tE
# or C++ progr
knologi amming language. The course is designed for
de mange øvelsene i kurset, og du lærer å unngå vanlige fallgruver. Kurset settes opp på forespørsel.
developers with all levels of experience. Beginners will obtain a fi rm grounding in the principles, patterns and
Dag Hoftun Knutsen
practices, while experienced developers will be able to sharpen and refi ne their skills by learning how to apply
Robert C. Martin
og s the concepts more effectiv
M
ely.
idig utvikling
ORACLE PL/SQL- PROGRAMMERING
Kursforfatter og instruktør: Dag Hoftun Knutsen
Dette kurset gir en grundig innføring i Oracles prosedyrespråk PL/SQL, og språkets ulike bruksområder.
På NDC2010 møter du noen av
Kurset beskriver den generelle oppbyggingen og syntaxen i PL/SQL, og gir deg praktisk kunnskap gjennom rea-
toppene innen Testdrevet Utvikling
listiske øvelser. Kurset settes opp på forespørsel.
16. - 18. juni i Oslo Spektrum
Dag Hoftun Knutsen
Kjøp billett på www.ndc2010.no
For fullstendig kursoversikt, oppdatert pris, tid og sted, se www.programutvikling.no
Påmelding: Tlf 67 82 72 35 • kurs@programutvikling.no • www.programutvikling.no
16-18 juni i oslo spektrum
17

18
forEdragsholdErE i vErdEnsklassE
Midt i oslo sEntruM
sikrE dEg
EarlY Bird
BillEttEr nÅ!
ndc2010.no

PROGRAMMERING
jAVA PERSIStENCE WItH jPA2 AND HIBERNAtE
NEW
Author and instructor: Andy Olsen
The Java Persistence API (JPA) is a standard object–relational mapping (ORM) technology for Java applications.
C++ 501: C++ FOR EMBEDDED DEVELOPERS
This course takes a detailed look at the latest standard, JPA2, describing how to map complex relational structures
Instruktør: Mike Tarlton
and how to use the JPA Query Language effectively. The course also describes when and how to use Hibernate–
Kurset gir deg forståelse for det viktigste med programmeringsspråket C++ og du får gjøre en rekke praktiske
specific extensions. This training course is aimed at developers who need to map relational data to Java entities.
øvelser med å skrive C++-kode. Kurset dekker C++ generelt i løpet av de tre første dagene og sanntidsaspekter
Andy Olsen
de to siste.
Mike Tarlton
jAVA WEB COMPONENt DEVELOPMENt (HANDS-ON) - SuN CERt. CX-310-083
Kursforfatter og instruktør: Andy Olsen
Dette praktiske kurset for utviklere av webapplikasjoner dekker bl.a. servlets, JSP og EL-språket, livssykler
OBjEKtORIENtERt utVIKLING
og sesjoner, cookies, HTTP, sikkerhet, autentisering, parallellitet, JavaBeans og EE 5. Det dekker også flere
Kursforfatter og instruktør: Eivind Nordby
JEE-mønster, f.eks. MVC, Front Controller, Transfer Object. Erfaring med Java-utvikling forutsettes.
Kurset retter seg mot utviklere som ikke er vant til objektorientering men som vil forstå selve den objekt–
orienterte tenkemåten. Skal du lære f.eks. C# eller Java eller lære å bruke det mer effektivt, vil dette kurset
Andy Olsen
hjelpe deg til å ta til deg den objektorienterte måten å arbeide på.
Eivind Nordby
jAVA WEB SERVICES DEVELOPMENt (3 DAYS HANDS-ON)
Author and instructor: Andy Olsen
This course describes how to create and consume Java Web services. The course is based on the latest platform for
jAVA
Java Web service development (”Metro”). The first day of the course introduces essential Web service concepts, and
describes how to create and consume simple Web services. You will also learn about the important role of WSDL in
describing Web service interfaces. The second and third days of the course dig deeper into Web service standards,
Andy Olsen
techniques, and APIs. You will learn how to handle Web service faults; maximize integration options; use headers
ADVANCED MAVEN 2
to provide Web service metadata; customize Java–to–object serialization formats; and invoke Web services pro-
Kursforfatter og instruktør: Kristian Nordal og Trygve Laugstøl
grammatically by using JAX–WS, the latest Java API for Web services. The course also describes how to create and
Kurset vil gi en grundig gjennomgang av Maven, både konseptene Maven bygger på
consume RESTful Web services, and explains how to access RESTful Web services by using JAX–RS.
og hvordan det skal brukes i praksis. Maven er et produkt og konsept med mange fasetter,
og er nyttig for utviklere, byggeansvarlige og teknisk rettede prosjektledere.
Kristian Nordal
Trygve Laugstøl
jAVASERVER FACES (jSF) DEVELOPMENt
Author and instructor: Andy Olsen
Students will learn how JSF represents a Web user interface as a component tree in memory, and how you can map
the component tree to Java managed beans. Students will also see how to configure JSF applications to define
APACHE StRutS 2 jAVA WEB DEVELOPMENt
navigational flow, and how to validate and convert user input. In addition, the course shows how to create Ajax–
Kursforfatter og instruktør: Andy Olsen
enabled JSF pages, use the Facelets framework to lay out pages, and create custom controls if necessary.
Struts er et åpet rammeverk for å forenkle utvikling, vedlikehold og installasjon av webapplikasjoner basert på
Andy Olsen
løst koblede deler. Kurset tar for seg strukturen i en Struts 2-løsning og går gjennom detaljene i ramme–verket.
Det viser også hvordan Struts 2 integreres med f.eks. Ajax og Spring. Kurset forutsetter Java-erfaring.
Kurset settes opp på forespørsel.
Andy Olsen
jSF DEVELOPMENt 3 DAGER
Kursforfatter og instruktør: Andy Olsen
Java ServerFaces (JSF) forenkler utvikling og vedlikehold av kompliserte websider i webapplikasjoner.
Dette praktiske kurset lærer ut JSF-mekanismer som tag-bibliotek, hendelseshåndtering, sidenavigering,
jAVA ENtERPRISE EDItION 5
konfigurering, databinding og integrasjon med Ajax, men dekker også nødvendige deler av JSP og EE 5.
Kursforfatter og instruktør: Andy Olsen
Kurset forutsetter Java-erfaring. Dette kurset kan gjennomføres som et 3-dagers kurs for “beginners” og
Javas EE 5-plattform støtter flerlagsløsninger, inkl. webapplikasjoner, mellomlagskomponenter og datalagring.
Andy Olsen
som et 2-dagers kurs for ”intermediate”.
Dette praktisk orienterte kurset retter seg til utviklere av distribuerte applikasjoner og dekker arkitektur,
installasjon, transaksjoner, sesjoner, servlets, ressurshåndtering m. m. for EE 5-løsninger. Erfaring med Java-
utvikling forutsettes.
Andy Olsen
SCALA MED jONAS BONéR
Instructor: Jonas bonér
In this workshop we will give you an introduction to Scala from a Java/JEE and real-world perspective.
We will discuss a wide range of areas such as: How to make effective use of Scala’s richer OO abstractions
jAVA IN ESSENCE – jAVA SE 6 OG j2SE 5 FOR utVIKLERE
and type system, such as mixing composition, to create more flexible and reusable components and systems.
Instruktører: Mårten Haglind og Kristian Nordal
How to take advantage of Scala’s FP nature, such as closures, high-order functions, immutability, for more
Kurset lærer deg å utvikle plattformuavhengige, robuste og objektorienterte applikasjoner
Jonas Bonér
clean, safe, conceptually coherent and deterministic code. How to bring it all together and make Scala work
med Java 2 Standard Edition - J2SE. Det blir lagt stor vekt på praktiske øvelser, og du vil lage
in the Real World; with problems like Web development, O/R Mapping, Dependency Injection (DI), Domain
fullstendige Java-programmer.
Specific Languages (DSLs), AOP, Testing, High-Availability & Scale-Out, fault-tolerance etc.
Mårten Haglind
Kristian Nordal
For fullstendig kursoversikt, oppdatert pris, tid og sted, se www.programutvikling.no
Påmelding: Tlf 67 82 72 35 • kurs@programutvikling.no • www.programutvikling.no
19
20

jAVA forts.
DESIGN – ANALYSE – ARKItEKtuRER forts.
SPRING SOuRCE – CORE SPRING 4 DAGER
AGILE DEVELOPMENt WORKSHOP IN C#
Instruktører: Kaare Nilsen og Mårten Haglind
- HANDS-ON AGILE DEVELOPMENt FROM REQuIREMENtS tO CODE
I dette 4-dagers intensivkurset lærer du å bruke rammeverket Spring, for å lage gode
Author and instructor: Kevlin Henney
forretningsapplikasjoner med funksjonsvennlig design. Inkludert i dette kurset er en
The Agile Development Workshop in C# course introduces a useful subset of common agile techniques and puts
gratis registrering til eksamen hos ”Spring Framework Certification Examination”.
them into practice over a series of mini–iterations. The workshop balances taught material with practice, introdu-
Dette er det offisielle Spring Source kurset, med sertifiserte kursholdere og mulighet
cing requirement techniques, sufficient modelling techniques, tracking and estimating approaches, testing practi-
Kaare Nilsen
for sertifisering. ProgramUtvikling er eneste leverandør av dette i Norge.
Mårten Haglind
Kevlin Henney
ces and refactorings as necessary. This workshop structure allows course attendees to see and understand how all
the activities fit together in practice, consolidating concepts that are often taught theoretically and separately.
SPRING SOuRCE – SPRING AND HIBERNAtE
Instruktører: Kaare Nilsen og Mårten Haglind
ARCHItECtuRE SKILLS
NEW
Vi presenterer nå, som den norske partneren til Spring Source, kurset Spring & Hibernate.
Author and instructor: Kevlin Henney
I dette fem dagers kurset vil du lære hvordan man benytter Spring Framework til å lage
The Architecture Skills course introduces a broad curriculum for software architects. The course introduces
bedrifts–applikasjoner som er godt designede og testbare på en smidig måte. Ved å fullføre
development process models, architectural styles, requirements techniques, sufficient modelling techniques,
dette kurset har du mulighet til å ta eksamen som leder til ”Spring Framework Certification”
design patterns and testing practices. This course includes a number of practical exercises so that attendees can
Kaare Nilsen
Dette er det offisielle Spring Source kurset, med sertifiserte kursholdere og mulighet
Mårten Haglind
see how the different activities fit together. There is also plenty of opportunity for discussion.
for sertifisering. ProgramUtvikling er eneste leverandør av dette i Norge.
Kevlin Henney
SPRING WEB SERVICES
NEW
tHE ARCHItECt’S MAStER CLASS
Instructor: SpringSource
Kursforfatter og instruktør: Juval Lowy
In this two–day course, you will learn how to create effective, interoperable Web services with Spring–WS. The
Programarkitekter har ofte ikke en like tydelig forståelse for sin rolle som f.eks. utviklere og prosjektledere.
course gives a good overview of the various standards and techniques that exists in the Web service landscape.
Med en blanding av forelesninger og interaktiv oppgaveløsning tar kurset for seg bl.a. kompetanse, ansvar,
Each standard or technique is investigated on both a conceptual and practical level, teaching students where it
verktøy, praksis og forholdet til teknikk- og design-spørsmål for en arkitekt, altså mange spørsmål utover
can be applied successfully. The course also covers some of the products that can be used to implement these.

rene arkitekturspørsmål.
Delegates will leave with a deeper understanding of the Web service landscape, thus being able to implement
Juval Lowy

Web services more successfully.
ARKItEKtuRER MED C#.NEt
tOOLS FOR AGILE DEVELOPMENt WItH MAVEN 2,
Kursforfatter og instruktør: Eivind Nordby
SuBVERSION AND CONtINuuM
Dette kurset hjelper deg med å vurdere hvilken arkitektur du skal velge til IT-løsningene du skal utvikle.
Kursforfatter og instruktør: Kaare Nilsen og Trygve Laugstøl
Kurset har fokus på dybdeforståelse for arkitekturer og strukturer, og inneholder eksempler på dialog-
Kurset går gjennom bruk og strategisk innføring av verktøyet Maven 2, Subversion
baserte (WinForm-baserte) løsninger, databaser med ADO.NET, webløsninger med ASP.NET og webtjenester
og Continuum som brukes ved smidig utvikling (Agile Development) i bedrifter eller
(Web Services).
organisasjoner. Kurset settes opp på forespørsel.
Eivind Nordby
Kaare Nilsen
Trygve Laugstøl
APPLIED DOMAIN DRIVEN DESIGN
NEW
XML
Author and instructor: Greg Young
This course focuses on Applied DDD. This means that while the concepts will be explained by Greg Young, we will
have a heavy focus on creating working (Java⁄C#) code. We will go through the different concepts and turn each
concept into a working solution which you can apply without too much effort in your own domain. The group will
EXCHANGING AND MANAGING DAtA uSING XML AND XSLt
also be small to facilitate interaction between course members.
Kursforfatter og instruktør: Espen Evje
Greg Young
Dette kurset vil gi deg en oversikt over hva XML er og hva det kan brukes til. Du lærer blant annet om strukturen
og syntaksen i XML-dokumenter og hvordan du kan ta i bruk XML-dokumenter i applikasjoner, om XML-Schema
og XPATH, og du får et innblikk i hvordan XML brukes i forbindelse med relasjonsdatabaser.
DOMAIN-DRIVEN DESIGN (DDD) HANDS-ON IMMERSION
Espen Evje
Instructor: Eric Evans
Finding and exploiting domain models is key to success with large software systems. By cultivating a strong
connection between the language used by experts, users, and developers, the right kind of models can dramatical-
ly accelerate the process of translating the customers needs into working software. Strong domain modeling
DESIGN – ANALYSE – ARKItEKtuRER
coupled with programming best practices such as exploiting design patterns, refactoring, and test–driven
Eric Evans
development yield a principled yet practical approach to the development of large software systems.
AGILE DESIGN AND MODELING FOR ADVANCED OBjECt DESIGN WItH PAttERNS
Kursforfatter og instruktør: Craig Larman
DOMAIN-DRIVEN DESIGN (DDD) OVERVIEW
Er du arkitekt eller utvikler og arbeider med objektorienterte systemer er dette kurset for deg. Du vil lære
Instructor: Eric Evans
å beherske avansert objektorientert design (OOD) og designmønster (patterns). De fleste moderne objekt-
Build your awareness of the basic concepts and value of Domain–Driven Design in one day. Effective software
orienterte systemer er konstruert etter mønster eller forbilder, og det å beherske disse mønstrene er svært
teams take a torrent of information and knowledge about their subject matter (the domain) and distil it into a
viktig både for utviklere og arkitekter. Kurset er praktisk lagt opp med en rekke realistiske oppgaver og
stream of quality software. Finding and exploiting domain models is a key to success in projects with complex do-
Craig Larman
individuell veiledning.
mains. This seminar gives an overview of the basic principles and processes needed develop the right kind of models,
Eric Evans
tie them into implementation and business analysis, and deal with some of the realities of multi–team projects.
21
22

DESIGN – ANALYSE – ARKItEKtuRER forts.
MICROSOFt forts.
SCRuM MED FOKuS På ANALYSE OG DESIGN
MS 70-503 WINDOWS COMMuNICAtION FOuNDAtION HANDS-ON
Kursforfatter og instruktør: Eivind Nordby
Author and instructor: Andy Olsen
I kurset vil du lære deg å fange inn kravene (“use cases”) i et utviklingsprosjekt. Du vil iterativt omforme disse til
Windows Communication Foundation (WCF) er Microsofts plattform for tjenesteorienterte applikasjoner
ferdig programvare. Dette gjøres slik at du smidig kan håndtere forandringer. Du vil beskrive kravene i en krav-
(SOA), interprosess og maskin-til-maskin kommunikasjon. WCF støtter i tillegg til SOAP WebServices
modell som er utgangspunktet for andre UML–modeller, som analyse– og designmodeller.
standarden, binær pakking og overføring over alternative protokoller. I dette kurset vil du lære både å opp-
rette og å bruke WCF tjenester og datakontrakter, i tillegg til at man ser på flere alternative måter å bygge
Eivind Nordby
Andy Olsen
opp og konfigurere WCF tjenester på. WS-*/WSE utvidelser som transaksjonsstøtte, autentisering og pålitelig
meldingsutveksling, samt feilsøking og feilhåndtering inngår i kurset. (MCTS, leder til eksamen 70-503).
MICROSOFt
MS 70-562 WEB-utVIKLING MED ASP.NEt
Kursforfatter og instruktør: Arjan Einbu
Du lærer deg å utvikle webløsninger med ASP .NET. Kurset er praktisk rettet, og viser utvikling av
ASP.NEt MVC KuRS
Web–applikasjoner fra start til utrulling. Du vil også lære å konfigurere løsningen, lage applikasjoner
NEW
Author and instructor: Andy Olsen
for mobiltelefoner og PDAer. Kurset gir deg grunnlaget du trenger til eksamen 70-562 (MCTS).
Over the last few years there has been a steady move towards Model–View–Controller (MVC) architectures
for Web applications. MVC Web applications offer a clean separation of concerns between the model
Arjan Einbu
(business–logic classes), the view (Web pages), and the controller (classes that connect the model and view).
Microsoft ASP.NET MVC offers Web developers all the benefits of MVC allied with all the power of the .NET
Andy Olsen
platform. This course provides full coverage of ASP.NET MVC and also shows how to transition from ASP.NET
to the new architecture.
SHAREPOINt 2007 AND .NEt 3.5 FOR DEVELOPERS
Kursforfatter og instruktør: Sahil Malik
Kurset inneholder alt det nye i .NET 3.5, best practice og mange gode øvelser. Dette kurset vil virkelig ta
deg opp på et avansert nivå og gjøre deg til en enda dyktigere SharePoint utvikler. Les mer om kurset på
C#.NEt: utVIKLING AV APPLIKASjONER I .NEt MED C#
våre hjemmesider! Gir et godt grunnlag for MCTS-Sertifisering 70-542.
Kursforfatter og instruktør: Arne Laugstøl. Instruktør: Arjan Einbu
Kurset inneholder en bred gjennomgang av hva som finnes i Visual Studio. Det har fokus på
Sahill Malik
hva som er nyttig for en utvikler. Du vil lære å utvikle, både Windows- og web-applikasjoner,
biblioteker (.dll) og webtjenester (web-services).
Arne Laugstøl
Arjan Einbu
SHAREPOINt 2010 FOR ARCHItECtS AND DEVELOPERS
Author and instructor: Sahil Malik
This 5 day course is designed for someone with background in .NET or SharePoint 2007 and is looking to
learn SharePoint 2010 thoroughly. The course is designed for the technical developer or the architect who
WINDOWS AzuRE PLAtFORM ESSENtIALS
needs to learn all aspects of the product, for the developer, designer, and the administrator. In this course,
NEW
Instructor: Michele Leroux bustamante
between the three, there is a greater emphasis on the developer, medium emphasis on administrator, and
This course will provide you with the essentials of the Windows Azure platform. The class is a tour de force
Sahill Malik
lesser emphasis on the pure designer skill. Familiarity with SharePoint 2007 is not required.
of how Windows Azure, SQL Azure and the Windows Azure platform AppFabric can help businesses scale
operations in the cloud. You will see ways you can combine these services with on–premise applications and
services. The class demonstrates how to write ASP.NET or Silverlight applications and WCF services for
Michele Leroux
Windows Azure, and how to migrate existing applications for deployment to the cloud.
SILVERLIGHt 4.0
Bustamante
NEW
Instruktør: Dave Wheeler
The course shows you how to build Silverlight applications that utilize drag–and–drop, dynamic custom
controls, streaming media, animation, and integrated Web Services to produce data–driven user interfaces.
By the end of the course, youll have seen how all the major Silverlight features work together to create an
MS 6460 WINDOWS PRESENtAtION FOuNDAtION (WPF)
engaging user experience on the web.
Author and instructor: Arne Laugstøl
Dave Wheeler
Windows Presentation Foundation (WPF) er en .Net teknologi som gjør det mulig å lage rike brukergrensesnitt.
Dette kurset vil lære deg de grunnleggende tingene du behøver til utvikling av heftige grafiske applikasjoner,
eller programmer for mer tradisjonell datapresentasjon. Kurset er beregnet for programmerere som vil forstå
hvordan man bruker WPF i dybden, og tar for seg: Oppbygging av en WPF applikasjon, brukergrensesnitt,
WHAt’S NEW IN .NEt 4
NEW
Arne Laugstøl
databinding, ”user control”, dokumenthåndtering, animering, grafikk og multimedia.
Author and instructor: Richard blewett
(MCTS, leder til eksamen 70-502).
.NET 4.0 brings significant changes to large areas of Microsofts .NET platform, from the underlying runtime
to programming languages and application frameworks. In this course you will get answers to these ques-
tions: What does dynamic typing in C# 4.0 mean? What does PFx give me that I couldnt do in .NET 3.5? How
is ASP.NET MVC different from building WebForms–based web applications? Why did they rewrite workflow
MS 70-536 .NEt FRAMEWORK FOuNDAtION
Richard Blewett
and what new features do I get as a result? How does Entity Framework 4.0 help me build n–tier applications?
Kursforfatter og instruktør: Arne Laugstøl
Kurset tar for seg de grunnleggende funksjonene i .NET rammeverket. Det er funksjonalitet som behøves
både i web-løsninger og Windows-programmer. Kurset gir deg grunnlaget du trenger til eksamen 70-536
som inngår i alle MCTS sertifiseringene.”
WINDOWS PRESENtAtION FOuNDAtION (WPF) AND SILVERLIGHt IN ESSENCE
(Microsoft Certified Technical Specialist).
Author and instructor: ian Griffiths
Arne Laugstøl
Windows Presentation Foundation (WPF) er den nye generasjonens presentasjonsplattform fra Microsoft.
WPF er integrert i Windows Vista og går også på Windows XP og Windows Server. Med WPF kan klient-
program fullt ut utnytte de grafiske mulighetene som moderne PC-er har.
For fullstendig kursoversikt, oppdatert pris, tid og sted, se www.programutvikling.no
Ian Griffiths
23
24

SERTiFiSERiNG





Bus. Manager
Bus. Manager
Sertifiseringskurs




(•)



Programutvikling leverer en rekke sertifiseringspakker som gir deg
den kompetansen du trenger for å gjennomføre den internasjonale
T
ech. Manager
T
ech. Manager
sertifiseringseksamen. Formålet med den nye sertifiseringsstrukturen
er å synliggjøre spesifikke jobbroller, slik at en lettere kan påvise
kompetanse på sitt felt.





(•)

ProgramUtvikling har blitt et
Bus. Analyst
Bus. Analyst
Prometric testsenter
Programutvikling har inngått avtale med Prometric som er verdens-
ledende på testing og eksamen innen IT. For deg som kunde innebærer
dette at du kan gjennomføre hele sertifiseringsprosessen hos




(•)





Programutvikling på våre Microsoft-kurs.
Process/CSM
Process resp.
MICROSOFt SERtIFISERINGSPAKKER
.NEt Framework 3.5 - Windows

.NEt Framework 3.5 - ASP.NEt
.NEt Framwork 3.5 – Windows
(•)





T
ester
T
ester
Communication Foundation
Applications Development
Presentation Foundation
Applications
Application
PAKKE 1
PAKKE 2
PAKKE 3
• MS 70-536 .NET Rammeverket –
• MS 70-536 .NET Rammeverket –
• MS 70-536 .NET Rammeverket –









eksamen 70-536 (4-dager)
eksamen 70-536 (4-dager)
eksamen 70-536 (4-dager)
• MS 70-503 Windows
• MS 70-562 Web-utvikling med
• MS 6460A Windows Presentation
Communication Foundation -
ASP.NET - eksamen 70-562
Foundation – eksamen 70-502
Architect/Design
Architect/Design
eksamen 70-503 (3-dager
(5-dager)
(3-dager)
• MCTS Self-Paced Training Kit
• MCTS Self-Paced Training Kit
• MCTS Self-Paced Training Kit
(Eksamen 70-536)
(Eksamen 70-536)
(Eksamen 70-536)
v
eloper
















v
eloper
ADMAP
• MCTS Self-Paced Training Kit
• MCTS Self-Paced Training Kit
• MCTS Self-Paced Training Kit
(Eksamen 70-503)
(Eksamen 70-562)
(Eksamen 70-502)
. De
. De
Sr
Sr
Pris 29 900,-
Pris 35 900,-
Pris 29 900,-











jAVA- OG SCRuM-SERtIFISERINGER
v
eloper
v
eloper
De
De
E
R
I
D

SPRiNGSOURCE
SCRUMMASTER OG PRODUCT
SCRUM PRODUCT OWNER
V
O

GILE RO
SERTiFiSERiNG
OWNER SERTiFiSERiNGER
SERTiFiSERiNG
SpringSource - Spring and Hiberna-
Certified Scrum Product Owner
S
E

P
R

te (Spring Framework Certification)
SCRUMMASTER
R
Pris 13 900,-
u
T
esting
Pris 26 900,-
SERTiFiSERiNG

C
O

v
elopment
es
Certified ScrumMaster - 2 dager
R
u

v
elopment
SUN SERTiFiSERiNG
Pris 13 900,-
O
v
elopment
aftsman
Java Web Component Develop-
S
Y

ment (Sertifisering CX-310-083-

A
G

en De
SCWCD)
L
I
N

Pris 22 900,-
I
K

T
esting
T
est Driv
t
V
u

xt Steps in Agile and Lean
M
Courses
Lean Management and De
Scaling Lean & Agile De
Ne
Succeeding with Scrum
CSPO - Certified Product Owner
CSM - Certified ScrumMaster
Leading Agile Retrospectiv
Smidig Utvikling med Scrum
Agile
Beginners Fitnesse Automated
Architecture Skills
Agile Design and Modeling for
Advanced Design with Patterns
Scrum med fokus på Analyse og Design
SOLID PPP
TDD -
Clean Code Agile Cr
Legacy Code
T
echnology Skills in Java
T
echnology Skills in .NET
Courses
A
R
G
O

Y
LOG
For fullstendig kursoversikt, oppdatert pris, tid og sted, se www.programutvikling.no
LEAN
M
u
SCR
t
ES
t
MANSHIP
t
CRAF
LEAN AND A
ECHNO-
t




P
R

25
26

KuRSPLAN
utGAVE NR. 1/2010
KuRStIttEL
*Spring Web Services
2
10
IT Fornebu
13 900
LEAN
Dager
jan feb mar apr mai jun Sted
Pris
*SpringSource - Core Spring
4
18
1
12
31
IT Fornebu
22 900
Lean Management & Development: From Knowing to Doing
2
28
29
IT Fornebu
13 900
*SpringSource - Spring and Hibernate
5
18
1
12
31
IT Fornebu
26 900
Craig Larman
XML
Dager
jan feb mar apr mai jun Sted
Pris
*Next steps in Agile and Lean with Allan Kelly
2
3
IT Fornebu
13 900
*Exchanging and Managing Data using XML and XSLT
3
13
12
IT Fornebu
17 900
Scrum
Dager
jan feb mar apr mai jun Sted
Pris
Microsoft
Dager
jan feb mar apr mai jun Sted
Pris
*Certified Scrum Product Owner - CSPO - Geoff Watts
2
17
24 IT Fornebu
13 900
*ASP.NET MVC kurs - Andy Olsen
3
3
IT Fornebu
17 900
Certified Scrum Product Owner - CSPO - Mike Cohn
2
28
29
IT Fornebu
13 900
*C#.NET: Utvikling av applikasjoner i .NET med C#
5
25
15
3
28 IT Fornebu
22 900
*Certified ScrumMaster - CSM - Geoff Watts
2
15
22 IT Fornebu
13 900
*MS 6460 Windows Presentation Foundation (WPF)
3
18
10
19
30 IT Fornebu
14 900
Certified ScrumMaster - CSM - Jeff Sutherland
2
27
IT Fornebu
13 900
*MS 70-503 Windows Communication Foundation hands-on - med
3
9
19
IT Fornebu
14 900
Certified ScrumMaster - CSM - Mike Cohn
2
26
26
Felix, Oslo
13 900
Andy Olsen
*Leading Agile Retrospectives: Continuous Improvement for High
2
13 900
*MS 70-536 .NET Framework Foundation
4
2
6
1
IT Fornebu
19 900
Performing Teams - with Diana Larsen
*MS 70-562 Web-utvikling med ASP.NET
5
15
19
31
IT Fornebu
22 900
*Smidig utvikling med Scrum med Arne Laugstøl
1
13
2
IT Fornebu
5 900
*SharePoint 2007 and .NET 3.5 for Developers - Sahil Malik
5
25
IT Fornebu
22 900
Succeeding with Scrum - Mike Cohn
1
28
IT Fornebu
6 900
*SharePoint 2010 for Architects and Developers - Sahil Malik
5
12
IT Fornebu
22 900
testdrevet utvikling - tDD
Dager
jan feb mar apr mai jun Sted
Pris
*Silverlight 4.0 for WPF Developers med Dave Wheeler
3
IT Fornebu
17 900
*Agile Testing: A Roadmap to Success
3
3
14
IT Fornebu
17 900
*Silverlight 4.0 - med Dave Wheeler
5
22
IT Fornebu
22 900
*Clean Code: Agile Software Craftsmanship - Robert C. Martin
2
29
24 IT Fornebu
13 900
*What’s new in .NET 4 - with Richard Blewett
5
15
IT Fornebu
22 900
*Legacy Code -Test Writing Techniques - Michael Feathers
2
6
21 IT Fornebu
13 900
*Windows Azure Platform Essentials - Michele Leroux Bustamante
2
9
IT Fornebu
13 900
*SOLID PPP - Robert C. Martin
3
26
IT Fornebu
17 900
*Windows Presentation Foundation (WPF) and Silverlight in Essence -
4
20
IT Fornebu
19 900
*Test-Driven Development & Refactoring Techniques - Robert C.
3
21 IT Fornebu
17 900
Ian Griffiths
Martin
Microsoft Sertifiseringspakker
Dager
Pris
*Test-Driven Development in .NET Master Class (TDD in .NET Course)
5
4
3
IT Fornebu
22 900
- Roy Osherove
MCTS: .NET Framework 3.5, ASP.NET Application Development
9
35 900
Design - Analyse - Arkitekturer
Dager
jan feb mar apr mai jun Sted
Pris
MCTS: .NET Framework 3.5, Windows Communication Foundation
7
29 900
Applications
Agile Design and Modeling for Advanced Object Design with Patterns
4
IT Fornebu
19 900
- Craig Larman
MCTS: .NET Framework 3.5, Windows Presentation Foundation
7
29 900
Applications
*Architecture Skills - Kevlin Henney
3
24
IT Fornebu
17 900
*Kurs merket med ( * ) i oversikten inngår i rammeavtaleprogrammet og har rabatt.
*Arkitekturer med C#.NET
4
5
4
IT Fornebu
19 900
*Applied Domain Driven Design med Greg Young
2
9
IT Fornebu
13 900
*Domain-Driven Design (DDD) Hands-on av Eric Evans
4
19
IT Fornebu
20 900
BEDRIFtSINtERNE KuRS
*Domain-Driven Design (DDD) Overview av Eric Evans
1
18
IT Fornebu
6 900
Bedriftsinterne kurs er et effektivt og lønnsomt
*Scrum med fokus på analyse og design
4
12
20
IT Fornebu
19 900
alternativ dersom mange i en bedrift har samme
*The Architect`s Master Class - Juval Lowy
5
IT Fornebu
23 900
behov for kompetanseheving samtidig. Vi kan
Database
Dager
jan feb mar apr mai jun Sted
Pris
tilpasse et av våre åpne kurs slik at det tilfredsstiller
*Advanced T-SQL kurs - Itzik Ben-Gan
5
3
IT Fornebu
22 900
bedriftens behov best mulig. Kursene kan holdes i
våre lokaler eller hos bedriften.
*Databasedesign, -implementering og SQL-programmering
4
26
IT Fornebu
19 900
*Oracle PL/SQL- programmering
3
10
IT Fornebu
17 900
Fagdager
Programmering
Dager
jan feb mar apr mai jun Sted
Pris
Vi kan også arrangere fagdager, der vi f. eks tar for
*C++-501: C++ for Embedded Developers - with Mike Tarlton
5
15
IT Fornebu
22 900
oss et verktøy eller en teknologi og diskuterer det i
*Objektorientert utvikling
4
16
8
IT Fornebu
19 900
lys av bedriftens situasjon.
java
Dager
jan feb mar apr mai jun Sted
Pris
Ta kontakt for mer informasjon!
*Avansert Maven 2
2
9
IT Fornebu
13 900
*Java Enterprise Edition 5 - Andy Olsen
5
21 IT Fornebu
22 900
KuRSGARANtI
*Java in Essence - Java SE 6 og J2SE 5 for utviklere
5
IT Fornebu
22 900
Er du ikke fornøyd med et av kursene våre får du pengene
tilbake!
*Java Persistence with JPA 2 and Hibernate - Andy Olsen
3
7
IT Fornebu
17 900
*Java Web Services Development (3 Days Hands-On) - with Andy Olsen
3
26
IT Fornebu
17 900
PåMELDING
*JavaServer Faces (JSF) Development - Andy Olsen
3
24
IT Fornebu
17 900
Telefon: 67 82 72 35
*Scala - Jonas Bonér
3
23
9
IT Fornebu
17 900
E-post: kurs@programutvikling.no
Spring Framework Workshop - Discovery Days
1
13
IT Fornebu
3 600
www.programutvikling.no
27
28