|
|
|
|
|
|
|
December 2006
|
|
|
|
|
|
|
Click here to forward to a colleague |
|
|
|
|
|
|
|
In this issue:
1. LSF 9: “Just an upgrade”...or Change Agent?
2. Lawson Design Studio, Part 1: What Is It?
3. Worthwhile Reading
4. Lawson Tips & Tricks
The LawsonGuru Letter is a free periodic newsletter providing provocative
commentary on issues important to the Lawson Software community.
The LawsonGuru Letter is published by—and is solely the opinion of—John
Henley of Decision Analytics.
Visit Decision Analytics at
https://www.danalytics.com. For subscription information, see the
bottom of this message.
The LawsonGuru Letter is not affiliated with Lawson Software.
This month's "Quote of the Issue" is from Ed Bradley, who died this past
month. No story more encapsulated his energy and enthusiasm--as
well as his utter hipness--than this one recounted by Bob Schieffer:
At the 1988 Republican National Convention in New Orleans, Schieffer
remembers his two teenage daughters (CBS interns at the event) turning
him down for a night out with dad. "Susan said, `I'd love to, but
Mr. Bradley is taking a group of us to see Little Feat,'" Shieffer said
with a chuckle. "I didn't know who Little Feat was. It reminded me how
totally out of the loop I was."
Ed Bradley was an inspiration to many and an icon of a generation.
He will be fondly remembered. |
|
|
|
|
|
|
|
1. LSF 9: “Just an upgrade”...or Change Agent? |
|
|
|
|
|
|
|
As clients become aware of the new features and benefits of Lawson System
Foundation (LSF) 9.0, more prevalent becomes the question: “Should we really
treat this as just another upgrade?”
Well, I used to think so, but now I’m not so sure. If
you’ve been to any of Lawson’s recent briefings, you’ve
no doubt seen a slide like this:
The more you understand the new 9.0 features and how they will impact your
current environment; the biggest question will be “how do we get there?” The
answer is that it’s not that simple. Lawson’s preferred way is for you to engage
their consulting group to spend several days/weeks/months to “migrate” you over.
There are also now a few certified upgrade partners, since Lawson simply does
not have the resources to meet the demand. These projects require a scale of
effort that is unparalleled in recent Lawson history (more complex than 7.x
implementations and 8.x upgrades).
Wait a sec...didn’t Lawson’s slide just show Environment 8.0.3 -> LSF 9.0 as being
an upgrade? Well no, it’s a migration—not an upgrade. Think about the difference
between an upgrade and a migration. An upgrade is “in-place” on the same server
(or perhaps a clone of your existing server). In other words, one moment you
have 8.0.3, the next—voila--you have 9.0.
A migration—by comparison—is much like an upgrade, except that it is
accomplished on a fresh server, just like a new install. You might copy bits and
pieces of your environment, such as security classes and users, but for the most
part you might be better off re-implementing. Re-implementing? Why on earth
would I do that? This is supposed to be an upgrade!
Sure, you can treat it as “simply an upgrade”. I'm not saying it's seamless or
that there won't be some pain. It doesn't have to be a full-blown
reimplementation if you are staying on the same app version. But maybe it should
be.
Let’s look at what’s changing:
-
Security – Admit it. You know you hate the limitations of LAUA security. You
know you promised yourself that you’d “slowly transition” over to the new model.
But you know that once you’ve upgraded/migrated, you’ll be working on other
“higher priority” projects. You’ll never have that chance to go back and
implement Lawson Security. Grasp this upgrade as your chance. Use LSF 9.0 as
your change agent.
-
ProcessFlow / - Business Component Integrator - If you use ProcessFlow for
anything beyond simple requisition approval, you will definitely be reviewing
and updating your flows. And if you use BCI, you will be in for a pleasant
surprise (and some rework), since you now use ProcessFlow Designer to create,
maintain and manage your BCI procedures. With all of the new features in
LawsonProcessFlow (SQL queries/updates, reading/writing files, etc.), this is
your opportunity to re-architect that kludgey mess of cron jobs/shell
scripts/user tokens, etc. you call “integration”. Again, use LSF 9.0 as your
change agent.
-
Platform. OK, so it’s not changing, but maybe you want it to. One of Lawson’s
biggest strengths is its platform-neutrality. You can change platforms easily
(UNIX/Oracle to Windows/SQL or vice versa). But now there’s a new piece to the
puzzle--DB2. Since DB2 is now bundled with Lawson, this is your opportunity to
switch. If Lawson is your sole reason for having Oracle or SQL Server, why not
switch to DB2? It’s essentially free (well, you have to pay for it as part of
the upgrade, even if you’re not using it.) Use LSF 9.0 as your change agent.
-
Infrastructure. Are you prepared to tell your users that all their Process
Flows, EDI translation maps, SmartNotifications, and MS Add-In queries are going
to cleanly convert? What will happen to your 300 Crystal reports? If you’re
migrating from Env 8.0.3 -> LSF 9.0 with the same app version, then yes, those
things should translate, provided the connection info (server name, product
line, userids, etc.) are ultimately the same. But maybe you want to change some
of them. So: Product Line names will change. Server names will change. User
names will change (you are going to be using LDAP now, right?). And, nothing
will point correctly. You’ll have to remap all those process flows, reports,
etc.
So while you may want this to be “just an upgrade”, start thinking of it as a
re-implementation. Ever wish you could get a ‘do-over’? Ever wanted a chance to
fix some of those things that you did wrong not-so-well last time? Well, use LSF
as your opportunity. In other words: Use LSF 9 as your change agent. |
|
|
|
|
|
|
|
2. Lawson Design Studio, Part 1: What Is It? |
|
|
|
|
|
|
|
This month it’s time to kick off another
LawsonGuru Letter article series. Last time we did this,
it was a series on reporting—which ended up being
comprised of over a dozen articles. This time, we’re
going to take an in-depth look at Lawson Design Studio.
The length of this series is still open-ended, and I’ll
continue to add to it as time (and reader feedback, of
course!) permits.
In the first couple of articles, the primary objective
is to lay the groundwork. We will explore Lawson Design
Studio: What it is, what you can do with it, where it
fits and when you should use (and more importantly,
should not use) it.What is
it and what can I do with it?
Simply put, Lawson Design Studio [LDS]
is Lawson’s development tool for modifying Lawson Portal
pages. LDS is a browser-based drag and drop
graphical development environment used to customize,
extend and integrate with Lawson applications.
Lawson Design Studio includes:
-
UI Designer for modifying the
content as well as—to a limited degree—the functionality
of Lawson application forms. You can tailor the
“look-and-feel” of your Lawson forms as well as
streamline the forms, by:
- Setting default values
- Rearranging fields
- Removing (hide) fields
-
Portal Page Designer for creating custom Lawson Portal
pages. These pages can be composites of other Lawson
forms or queries, or even non-Lawson web content. The
content panes can be “connected” so that a change or
navigation performed in one pane updates the content of
another pane. For example, a list of customers could be
displayed in one pane, and when the user selects one of
the customers, the open invoices list displayed in the
other pane would be updated.
-
Wizard Designer for creating step-by-step versions of
Lawson forms so that occasionally-used forms can be
documented for rarely-used forms (i.e. yearly functions)
or as training guides for new Lawson users.
-
You use the API Builder and Scripting Environment
to build Lawson AGS and DME calls for inclusion in your
customized forms. You can also add/remove functionality
(i.e. augment Lawson’s business logic) using JavaScript;
Lawson incorporates their own unique classes into the
browser document object model [DOM], which you can
access programmatically via JavaScript.
No, you can’t customize Self-Service applications
with Lawson Design Studio
Before I forget, one question that I get a lot: Is it
possible to customize Self-Service forms (Employee
Self-Service & Manager Self-Service) using Design
Studio? No--those applications are “hand-coded” HTML and
JavaScript.
What Exactly is a Design Studio Customization?
In the days before Portal and Design
Studio, if you wanted to customize an entry screen and
limit the fields that were displayed, your best
alternative was to use Quick Paint to create the custom
form, and then further tweak the screen layout and COBOL
logic. Now there’s no need to “reinvent the
wheel”—Lawson Design Studio gives you the tools you need
to “tweak” your user’s Lawson experience—in a fully
supported way, and without re-writing the entire
application form.
Once you start to use it, you’ll think of more and more
ways in which to customize your forms. In fact, this
creates a serious dilemma. Each time you customize a
form using Design Studio, you may think that you’re
streamlining the application, when in fact you are
actually adding a level of complexity to the system--as
well as to your support infrastructure--and Lawson's
support as well.
What happens when Lawson changes the form on which your
customized form is based? Your Design Studio form
breaks. What’s even worse for Lawson? The ugly fact
about Design Studio is that Lawson now potentially has a
custom version for each and every form—for each and
every client! Perhaps you used Design Studio so that
every occurrence of “Process Level” is called “Operating
Unit” in your organization. You have to decode that
nomenclature each time you open a support case. And
Lawson—by giving you the ability to customize your
screens—now has to deal with that as a support issue.
So, be judicious, and know where to draw the line. Which
leads to the next topic...
How Should You Not Use It?
Lawson often oversells Design Studio as the “solution”
for any gaps that prospects have in their software
selection. How many times have you heard: “Oh, you can
handle that with a Lawson Design Studio modification”? I
have taught a number of sessions and worked with clients
on both COBOL/user exit development as well Design
Studio JavaScript. This is how I classify Lawson
customizations:
My first bit of advice for clients considering Lawson
Design Studio modifications is to re-think the idea of
using Design Studio to implement any business logic
(i.e. edits/validation, etc.); the reason is two-fold:
1) The logic is only applied when the user interacts
with the form via Design Studio. If the form is accessed
via ProcessFlow AGS, Excel addins, etc., the logic WILL
NOT be performed. If it’s your intention to enforce or
add new business rules, I would ALWAYS recommend coding
them in COBOL user exits.
2) The second reason is more a pet peeve of mine, so
allow me to step up on my soapbox. Each time Lawson has
taken a new direction for the presentation layer of its
products--and we've been thru several (OCS/Javascript,
COM+, Design Studio), etc—LAWSON HAS NOT PROVIDED A
MIGRATION PATH. Therefore, by coding your customizations
in Design Studio, EXPECT THAT ANY INVESTMENT YOU MAKE
MAY BE LOST. If you make them in COBOL/user exits, they
will survive each change in the presentation layer...
Next month we’ll discuss LDS, where it fits in the
Lawson architecture, and when
you should use (and more importantly, should not use)
it. |
|
|
|
|
|
|
|
3. Worthwhile Reading |
|
|
|
|
|
|
|
Getting a Head Start on ITIL
- QUOTE OF THE ISSUE –
“Be prepared, work hard, and hope for a little luck.
Recognize that the harder you work and the better
prepared you are, the more luck you might have.”
-- Ed Bradley
IT can no longer deliver services based on technology fiefdoms or silos as it
has in the past. This practice is dead. Organizations that refuse to accept
it will either dissolve, get outsourced, or end up being controlled by external
entities such as CFOs, business units, and so on. IT needs to rethink the ways
in which it contributes to the business -- and how it manages itself.
Infoworld, October 23, 2006
http://www.infoworld.com/article/06/10/20/43FEitil_1.html
Software-As-A-Service Faces Its Next Big Test
Workday, a startup founded by tech industry veteran Dave Duffield,
introduces ERP applications as on-demand services.
Information Week, November 6, 2006
http://www.informationweek.com/story/showArticle.jhtml?articleID=193501764
Whose Business Is Process Improvement Anyway?
Business and IT are locked in a struggle over who controls the management of business
process improvements. CIOs who seek to lead the charge have their work cut out for them.
CIO Magazine, November 1, 2006
http://www.cio.com/archive/110106/fea_bpi.html
A Perfect Fit
The demand for finance talent may be soaring, but candidates
refuse to settle for just any job.
CFO Magazine, November 2006
http://www.cfo.com/article.cfm/8099601/c_8102077
|
|
|
|
|
|
|
|
4. Lawson Tips & Tricks
|
|
|
|
Using Multiple dbcopy Processes
(This tip provided by Ron Wright at netASPx)
Ron shares a tip that I think is pretty cool. He wrote a
perl script that launches multiple concurrent dbcopy
processes. That way, your database copy takes only as long as the
process for copying your largest table.
|
#!/usr/bin/perl
our $SOURCE_PL = "dev80old";
our $TARGET_PL = "dev80new";
my $MAX_CHILDREN = 6; # number of concurrent Dbcopys to run
my $tables = &TablesLargestToSmallest;
# Launches an initial MAX_CHILDREN, then as each complete launches a new one
my $i = 1;
foreach ( @$tables ) {
if ( $i++ > $MAX_CHILDREN ) { wait }
if ( not my $pid = fork ) {
&Dbcopy($_);
exit; # DONT FORGET THIS
}
}
# Cleanup Processes
while ( wait != -1 ) {}
exit 0;
sub Dbcopy() {
my $table = shift;
print "dbcopy -d $SOURCE_PL $TARGET_PL $table\n";
system ( "dbcopy -d $SOURCE_PL $TARGET_PL $table" );
return;
}
sub TablesLargestToSmallest() {
my %src_counts;
my @tables;
print "Getting record counts...";
open COUNTS, "count $SOURCE_PL |";
while ( ) {
chomp;
my ($table, $count);
( $table, $count ) = split;
if ( $count > 0 ) {
$src_counts{"$table"} = $count;
}
}
close COUNTS;
print "done\n";
@tables = sort { $src_counts{$b} <=> $src_counts{$a} } ( keys(%src_counts) );
return \@tables;
}
|
|
|
|
|
|
|
|
|
|
© Copyright 2006, Decision Analytics. All rights reserved.
|
|
|
|