<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>business-objects &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/business-objects/</link>
	<description>Feed of posts on WordPress.com tagged "business-objects"</description>
	<pubDate>Sun, 29 Nov 2009 17:19:23 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Change Management - BIAR vs CMS to CMS]]></title>
<link>http://shahfaisalmuhammed.wordpress.com/2009/11/29/change-management-biar-vs-cms-to-cms/</link>
<pubDate>Sun, 29 Nov 2009 13:20:59 +0000</pubDate>
<dc:creator>Shahfaisal Muhammed</dc:creator>
<guid>http://shahfaisalmuhammed.wordpress.com/2009/11/29/change-management-biar-vs-cms-to-cms/</guid>
<description><![CDATA[I have seen people asking this question time and time again &#8211; What&#8217;s the best way to dea]]></description>
<content:encoded><![CDATA[I have seen people asking this question time and time again &#8211; What&#8217;s the best way to dea]]></content:encoded>
</item>
<item>
<title><![CDATA[Business Objects Developer with BO XI experience including Designer including WEBI - 30-35K - East midlands]]></title>
<link>http://businessintelligencespecialist.wordpress.com/2009/11/27/business-objects-developer-with-bo-xi-experience-including-designer-including-webi-30-35k-east-midlands/</link>
<pubDate>Fri, 27 Nov 2009 11:38:28 +0000</pubDate>
<dc:creator>adamsparey</dc:creator>
<guid>http://businessintelligencespecialist.wordpress.com/2009/11/27/business-objects-developer-with-bo-xi-experience-including-designer-including-webi-30-35k-east-midlands/</guid>
<description><![CDATA[Business Objects Developer with BO XI experience including Designer including WEBI &#8211; 30-35K ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Business Objects Developer with BO XI experience including Designer including WEBI &#8211; 30-35K &#8211; East midlands</p>
<p>My market leading client is seeking a Businessobjects/Business Objects Developer with Report development, Web Intelligence, Business Objects Security Admin experience and Kimball/Star Schema exposure.</p>
<p>The ideal candidate should have experience of:</p>
<ul>
<li>Business Objects XI R2 or R3 inc Webi</li>
<li>Kimball/Star-schema modelling exposure</li>
</ul>
<p>Any experience of ETL, Deski or SQL Server would benefit but by no means essensial.</p>
<p>Please send me your CV and I will contact you with more details.</p>
<p>Regards</p>
<p>Adam Sparey</p>
<p>Head of Business Intelligence, ETL and Data Warehousing</p>
<p>adamsparey@peoplesource.co.uk</p>
<p>0117 922 7000</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[UG Stand at Conference 2009]]></title>
<link>http://sapusers.wordpress.com/2009/11/26/ug-stand-at-conference-2009/</link>
<pubDate>Thu, 26 Nov 2009 19:49:28 +0000</pubDate>
<dc:creator>alanbowling</dc:creator>
<guid>http://sapusers.wordpress.com/2009/11/26/ug-stand-at-conference-2009/</guid>
<description><![CDATA[Great stand this year! The centre of the exhibition of nearly 80 organisations. &nbsp; &nbsp;]]></description>
<content:encoded><![CDATA[Great stand this year! The centre of the exhibition of nearly 80 organisations. &nbsp; &nbsp;]]></content:encoded>
</item>
<item>
<title><![CDATA[Networking Dinner at 2009 conference]]></title>
<link>http://sapusers.wordpress.com/2009/11/26/networking-dinner-at-2009-conference/</link>
<pubDate>Thu, 26 Nov 2009 19:30:02 +0000</pubDate>
<dc:creator>alanbowling</dc:creator>
<guid>http://sapusers.wordpress.com/2009/11/26/networking-dinner-at-2009-conference/</guid>
<description><![CDATA[The dinner was held at Manchester United and featured a tour of the museum and ground. Around 720 pe]]></description>
<content:encoded><![CDATA[The dinner was held at Manchester United and featured a tour of the museum and ground. Around 720 pe]]></content:encoded>
</item>
<item>
<title><![CDATA[Press coverage of User Group Conference (Updated)]]></title>
<link>http://sapusers.wordpress.com/2009/11/25/press-coverage-of-user-group-conference/</link>
<pubDate>Wed, 25 Nov 2009 21:39:30 +0000</pubDate>
<dc:creator>alanbowling</dc:creator>
<guid>http://sapusers.wordpress.com/2009/11/25/press-coverage-of-user-group-conference/</guid>
<description><![CDATA[A  fantastic conference with great speakers, great discussions and great people &#8211; some coverag]]></description>
<content:encoded><![CDATA[A  fantastic conference with great speakers, great discussions and great people &#8211; some coverag]]></content:encoded>
</item>
<item>
<title><![CDATA[At a Software Powerhouse, the Good Life Is Under Siege]]></title>
<link>http://enterpriseinformationmanagement.wordpress.com/2009/11/23/at-a-software-powerhouse-the-good-life-is-under-siege/</link>
<pubDate>Mon, 23 Nov 2009 10:01:27 +0000</pubDate>
<dc:creator>Andy Painter</dc:creator>
<guid>http://enterpriseinformationmanagement.wordpress.com/2009/11/23/at-a-software-powerhouse-the-good-life-is-under-siege/</guid>
<description><![CDATA[By STEVE LOHR A TOUR of its carefully tended, 300-acre corporate campus here leaves little doubt why]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>By <a title="Steve Lohr - The New York Times" href="http://topics.nytimes.com/top/reference/timestopics/people/l/steve_lohr/index.html?inline=nyt-per" target="_blank">STEVE LOHR</a></p>
<p>A TOUR of its carefully tended, 300-acre corporate campus here leaves little doubt why surveys, year after year, rate the <a title="SAS" href="http://www.sas.com/">SAS Institute</a>, the world’s largest private software company, among the best places to work.</p>
<p>There is the subsidized day care and preschool. There are the four company doctors and the dozen nurses who provide free primary care. The recreational amenities include basketball and racquetball courts, a swimming pool, exercise rooms and 40 miles of running and biking trails. There is a meditation garden, as well as on-site haircuts, manicures, and jewelry repair. Employees are encouraged to work 35-hour weeks.</p>
<p>Academics have studied the company’s benefit-enhanced corporate culture as a model for nurturing creativity and loyalty among engineers and other workers. Six years ago, in a report on <a title="Overview of SAS segment on “60 Minutes.“" href="http://www.cbsnews.com/stories/2003/04/18/60minutes/main550102.shtml">“60 Minutes,”</a> Morley Safer called working at SAS “the good life.”</p>
<p>But that good life is under threat today as never before. SAS’s specialty, a lucrative niche called business intelligence software, is becoming mainstream. Free, open-source alternatives to some of the company’s products are increasingly popular. On the other end of the spectrum, the heavyweights of the software industry — <a title="More information about Oracle Corporation" href="http://topics.nytimes.com/top/news/business/companies/oracle_corporation/index.html?inline=nyt-org">Oracle</a>, <a title="More information about SAP AG" href="http://topics.nytimes.com/top/news/business/companies/sap-ag/index.html?inline=nyt-org">SAP</a>, <a title="More information about Microsoft Corp" href="http://topics.nytimes.com/top/news/business/companies/microsoft_corporation/index.html?inline=nyt-org">Microsoft</a> and, especially, <a title="More information about International Business Machines Corporation" href="http://topics.nytimes.com/top/news/business/companies/international_business_machines/index.html?inline=nyt-org">I.B.M.</a> — are plunging in and investing billions of dollars.</p>
<p>“It will be a dogfight,” says Bill Hostmann, an analyst at Gartner. “SAS has never faced a competitor like I.B.M. And I do think I.B.M. sees SAS as a big, fatted cow.”</p>
<p>The term “business intelligence software” applies to a wide range of products and services, but all the technology is aimed at helping businesses mine nuggets of insight from mountains of data. SAS has traditionally specialized in advanced software to analyze huge data sets and to generate predictive statistical models for large corporations and government agencies.</p>
<p>Credit card companies, for example, use SAS to detect unusual buying patterns in real time, and to spot potentially fraudulent charges. Giant retail chains use SAS to tailor pricing and product offerings down to the store level. Telecommunications companies use SAS to identify the few thousand customers, among millions, most likely to switch to another cellphone carrier, and to aim marketing at them. SAS software is also used to parse sensor signals from North Sea oil rigs, combined with weather and structural data, to predict failure of parts before it happens. Of the 100 largest companies worldwide, 92 use SAS software.</p>
<p>But as the stream of companies’ collected data turns into a torrent, SAS and other software companies are trying to find new ways to harness it. The information is generated not only by computerized systems for tracking operations, customers and sales. It also comes from new data sources like Web site visits, social network chatter and public records accessible over the Internet, as well as genome sequences, sensor signals and surveillance tapes, all in digital form.</p>
<p>This data explosion, experts say, is an untapped asset at most companies, which lack the tools and skills to exploit it. Yet the long-range potential, they say, is to use this data for far more fine-grained analysis of markets, customer behavior and operations, making business more of a science and less a seat-of-the-pants art.</p>
<p>“Now, the data is available so business can move toward evidence-based decision-making,” says Erik Brynjolfsson, an economist and director of the <a title="The center’s home page." href="http://ebusiness.mit.edu/">Center for Digital Business</a> at the <a title="More articles about Massachusetts Institute of Technology" href="http://topics.nytimes.com/top/reference/timestopics/organizations/m/massachusetts_institute_of_technology/index.html?inline=nyt-org">Massachusetts Institute of Technology</a>. “This market is a huge opportunity.”</p>
<p>That opportunity is not lost on SAS. “Our advantage is the incredible depth of our technology, developed over years and applied to specific industries,” says James H. Goodnight, the chief executive and a co-founder of SAS. “No one can match our toolbox.”</p>
<p>Indeed, no one underestimates SAS’s technical prowess. The big question is whether the company’s seemingly pampered culture can embrace the higher-octane institutional metabolism that it will need to succeed.</p>
<p>“We know we have to change — no question about it,” says Jim Davis, 51, a senior vice president at SAS. “Our market space has changed dramatically in the last 18 months or so, more than at any time over the 33-year history of the company. We can’t sit back. Things are only going to get faster.”</p>
<p>THE company traces its roots to a time when computing was costly and for the few. Originally called Statistical Analysis System, it was founded in 1976 by Mr. Goodnight and three colleagues from the agricultural statistics department at <a title="More articles about North Carolina State University" href="http://topics.nytimes.com/top/reference/timestopics/organizations/n/north_carolina_state_university/index.html?inline=nyt-org">North Carolina State University</a>. Its techniques were initially used to calculate the intricacies of soil, weather, seed varieties and other factors to improve crop yields.</p>
<p>To build an audience, Mr. Goodnight spent nights packing up boxes of computer tapes and manuals, which he sent to university and corporate researchers. Soon, companies wanted him and his academic colleagues to develop software tools tailored for industry. In 1976 at a users’ conference, 300 or so people showed up, many from business.</p>
<p>“That was pretty much an ‘aha’ moment for us, that it was time to expand beyond the university,” Mr. Goodnight recalls. “It was a little scary, cutting the academic umbilical cord. But I was convinced we could do it.”</p>
<p>He and his colleagues at SAS developed their own programming language and software tools, and designed them for eggheads like themselves. Users were analysts with Ph.D.’s, working with programmers and employed by the largest companies at the forefront of using computing in their businesses, including banks, national retailers, insurers and drug companies.</p>
<p>SAS invested heavily in research and development, and even today allocates 22 percent of the company’s revenue to research. The formula has paid off in steady growth, year after year. Revenue reached $2.26 billion in 2008, up from $1.34 billion five years earlier.</p>
<p>Yet the company also faces the classic challenge of being the innovative pioneer — enjoying rich profit margins but facing new competition from rivals seeking to gain market share with lower prices and substitute technology.</p>
<p>In the last two years, the major software companies have scooped up companies in the business intelligence market. Among the larger moves, SAP bought Business Objects for $6.8 billion, I.B.M. bought Cognos for $4.9 billion and Oracle picked up Hyperion for $3.3 billion.</p>
<p>Still, those companies compete in the broad swath of the business intelligence market for reporting and analysis products. Such data on sales, shipments, customers and operations amount to a numbers-laden portrait of the recent past. The SAS stronghold is a more sophisticated kind of software typically called “advanced analytics and predictive modeling,” which uses historical and current data to try to peer into the future and model likely outcomes.</p>
<p>The competitive thrust that really grabbed SAS’s attention came in late July, when I.B.M. announced that it planned to pay $1.2 billion for SPSS, a maker of predictive modeling software. I.B.M. has placed SPSS and Cognos into a new business analytics and optimization group. That business will be supported by 200 scientists, and the company has said it will retrain or hire 4,000 consultants and analysts to work in the group.</p>
<p>“This is the big growth strategy for I.B.M., the company’s next big play for this decade,” says Ambuj Goyal, a computer scientist who is general manager of I.B.M’s business analytics software unit. “SAS comes from the legacy world of statisticians and programmers. The real opportunity is in deploying this technology broadly in corporations.”</p>
<p>To counter I.B.M. and others, SAS is looking to forge a tighter relationship with a big technology services company. It is also shortening product development cycles to 12 to 18 months, down from 24 to 36. “That’s what the market expects,” Mr. Davis says.</p>
<p>The most sweeping change is the company’s move toward the Internet model of software delivery — as a service that customers tap into over the Web, much as <a title="More information about Google Inc" href="http://topics.nytimes.com/top/news/business/companies/google_inc/index.html?inline=nyt-org">Google</a> and other Internet companies do. SAS has dipped its toe in, with some initial products. But a major expansion is planned, supported by a sprawling $70 million data center scheduled to begin operating next year.</p>
<p>The remotely delivered software is part of a drive to broaden the market for SAS technology beyond an elite corps of quantitative analysts and into the rank-and-file of corporate professionals.</p>
<p>Analysts say the company’s strategy looks sound, even if the outcome is uncertain. “SAS has to do a lot of things right to succeed,” says Peter Sondergaard, senior vice president of research for Gartner. “But if it executes correctly, it could be a winner.”</p>
<p>ACROSS its campus here, there are signs that the SAS culture is evolving with the times. Rick Langston, 54, a senior software manager who joined the company 29 years ago, smiles and shrugs when asked about the 35-hour workweek. After leaving the office, Mr. Langston routinely checks on work e-mail at home.</p>
<p>These days, he explains, SAS is a global company with far-flung project teams, and overnight e-mails can resolve problems and speed things along. Deadline work to meet product development schedules, he adds, can mean long hours at times. “But this is certainly not a place where you are working 60-hour weeks, week in and week out,” he said.</p>
<p>To be sure, the corporate cocoon in Cary can breed insularity. SAS, for example, was slow to recognize the brewing challenge from free, open-source alternatives to some of its products. A free programming language and set of software tools for statistical computing, called <a title="The R Project for Statistical Computing" href="http://www.r-project.org/" target="_blank">R</a>, has become increasingly popular at universities and labs.</p>
<p>The company shifted course earlier this year and modified its software so programs written with R work seamlessly with SAS technology. “Shame on us for not engaging more with the open-source community,” says Keith Collins, senior vice president and chief technology officer. “But we’re committed to doing that now.”</p>
<p>THE architect of the SAS culture is Mr. Goodnight, a lanky, laconic billionaire. The benefits have built up gradually over the years as a series of pragmatic steps, he says. The day-care program began after a valued employee was about to leave to take care of her young child. The on-site medical checkups grow out of the belief that “good health is good business,” he says.</p>
<p>Today, SAS estimates that its health care center saves the company $5 million a year, by providing care more cheaply than an outside insurer and by not having employees leave the campus for doctor’s visits. Employee turnover at SAS averages 4 percent a year, versus about 20 percent for the overall software industry.</p>
<p>The office atmosphere is sedate. There are no dogs roaming the halls, no Nerf-ball fights, no one jumping on trampolines — no whiff of Silicon Valley. The SAS culture is engineered for its own logic: to reduce distractions and stress, and thus foster creativity.</p>
<p>“The SAS model is sensible and durable; there’s nothing faddish or ephemeral,” says Richard Florida, a professor at the Rotman School of Management at the University of Toronto, who has studied SAS and is the author of “The Rise of the Creative Class.”</p>
<p>During the technology boom at the start of this decade, SAS considered a drastic change in its model: going public. <a title="More information about Goldman Sachs Group Incorporated" href="http://topics.nytimes.com/top/news/business/companies/goldman_sachs_group_inc/index.html?inline=nyt-org">Goldman Sachs</a> bankers were brought in as advisers, and in 2000 SAS recruited a former Oracle executive, Andre Boisvert, as its president.</p>
<p>Under Mr. Boisvert, SAS installed a new financial reporting system and paid the sales force incentive commissions rather than salary only. But when technology stocks plummeted, the appeal of selling shares to the public also receded. Mr. Boisvert resigned from SAS in 2001 and is now an independent investor and consultant.</p>
<p>Mr. Goodnight recalls those days as a brief period of New Economy surrealism, and going public as a path wisely avoided. SAS, he says, is a culture averse to the short-term pressures of Wall Street, which he characterizes as “a bunch of 28-year-olds, hunched over spreadsheets, trying to tell you how to run your business.”</p>
<p>Unlike many other tech companies, SAS has had no recession-related layoffs this year. “I’ve got a two-year pipeline of projects in R &#38; D,” Mr. Goodnight says. “Why would I lay anyone off?”</p>
<p>Mr. Goodnight, though 66, has no plans to retire himself. His fingerprints, colleagues say, remain all over the business, especially in meeting with customers and in overseeing research.</p>
<p>He is not only a statistician, but also a bit of gambler who enjoys calculating his chances. For example, he is co-author of a paper that simulated millions of possible outcomes in blackjack.</p>
<p>Mr. Goodnight regards his new rivals the way a confident card player might. He likes the odds, and he likes his hand.</p>
<p>“We’re pushing as fast as we can to stay ahead — on the cutting edge of everything,” he says. “We’ll do fine.”</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Official....the biggest yet]]></title>
<link>http://sapusers.wordpress.com/2009/11/20/official-the-biggest-yet/</link>
<pubDate>Fri, 20 Nov 2009 19:18:03 +0000</pubDate>
<dc:creator>alanbowling</dc:creator>
<guid>http://sapusers.wordpress.com/2009/11/20/official-the-biggest-yet/</guid>
<description><![CDATA[This years conference which takes place on Monday and Tuesday is the biggest yet &#8211; more delega]]></description>
<content:encoded><![CDATA[This years conference which takes place on Monday and Tuesday is the biggest yet &#8211; more delega]]></content:encoded>
</item>
<item>
<title><![CDATA[Inducing The Great Divide]]></title>
<link>http://sourcecodeadventures.wordpress.com/2009/11/18/inducing-the-great-divide/</link>
<pubDate>Wed, 18 Nov 2009 21:36:01 +0000</pubDate>
<dc:creator>Cobus Kruger</dc:creator>
<guid>http://sourcecodeadventures.wordpress.com/2009/11/18/inducing-the-great-divide/</guid>
<description><![CDATA[One of the most important principles in building complex software systems, is detaching&#160; the bu]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>One of the most important principles in building complex software systems, is detaching&#160; the business logic from the screens that allow users to view and edit information.</p>
<p>You’ll notice I said “most important” and not “most popular.” Sad but true – all modern IDEs make it so easy for a programmer to simply whack together a bunch of user interface controls, that there are probably far more forms with embedded business logic than without.</p>
<p>The fact is that for simple systems, this can often be convenient and harmless. But for more complex ones, it nearly always spells disaster (or at least chronic pain). The gold standard for these kinds of systems is to have a set of business objects and a set of screens that merely displays and edits them.</p>
<p>Building a proper business object framework is a complex topic all of its own, but Delphi (and all the other modern languages) give us more than enough riches in the object model to implement what we need in this regard.</p>
<p>What environments like Delphi don’t do very well, is give developers the tools to build a form that can capably display and edit business objects <em>without knowing too much about them</em>. And very generic entry forms only work well for very generic data. Invariably, specialised data require specialised forms that give the user appropriate functionality and a sensible layout.</p>
<p>So you end up with lots and lots of code like this:</p>
<pre>
<pre class="brush: delphi;">
procedure TCustomerForm.LoadForm(Customer: TCustomer);
begin
  NameEdit.Text := Customer.Name;
  EmailEdit.Text := Customer.Email;
end; 

procedure TCustomerForm.PostForm(Customer: TCustomer);
begin
  Customer.Name := NameEdit.Text;
  Customer.Email := EmailEdit.Text;
end; </pre>
</pre>
<p>And this kind of boiler-plate code is yet another reason while lots of programmers throw structure to the hounds and just integrate the business logic into the form.</p>
<p>Well, no need.</p>
<p>Delphi’s RTTI framework has always allowed one to access and manipulate all the published properties and fields on an object and I have been using a framework based on that for over ten years now. Simply publish all the properties you want to represent on the form and you can match object properties to screen controls by name and type.</p>
<p>Delphi 2010 has of course overhauled the RTTI framework completely and I quickly adapted my code to use that instead. Truth be told, the new RTTI is a little finicky and brittle, but it is also far richer in functionality and I found it well worth the effort to overhaul my classes.</p>
<p>What I am about to present here is not based in any way on the framework in our system, but illustrates very nicely how that works. Having said that, what I will show here is also simplified to the point that you will definitely want to extend it a little before you go gold with it.</p>
<h3>Exploring The Cliff Faces</h3>
<p>There is no real limit to the data types that you can have on your business object, but VCL controls almost all use simpler types to represent their values. So the first thing you’ll need is some sort of mapping of how you will want to represent information. </p>
<p>Here is a quick table of reasonable mappings:</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><strong>Business Object Property</strong></td>
<td valign="top" width="200"><strong>Possbile VCL Controls</strong></td>
</tr>
<tr>
<td valign="top" width="200">string, TObject</td>
<td valign="top" width="200">TEdit, TComboBox, TLabel</td>
</tr>
<tr>
<td valign="top" width="200">Boolean</td>
<td valign="top" width="200">TCheckBox</td>
</tr>
<tr>
<td valign="top" width="200">Integer</td>
<td valign="top" width="200">TEdit, TUpDown, TTrackBar</td>
</tr>
<tr>
<td valign="top" width="200">Double</td>
<td valign="top" width="200">TEdit</td>
</tr>
<tr>
<td valign="top" width="200">TDateTime</td>
<td valign="top" width="200">TDateTimePicker</td>
</tr>
<tr>
<td valign="top" width="200">Enumerated type</td>
<td valign="top" width="200">TComboBox, TListBox</td>
</tr>
<tr>
<td valign="top" width="200">Set type</td>
<td valign="top" width="200">TCheckListBox</td>
</tr>
</tbody>
</table>
<p>I’m sure you can think of a few more and probably disagree with me on a few, but you get to pick your own.</p>
<p>The plan is to have a completely autonomous business object and a very simple screen that can display and modify the business object without knowing much about it.</p>
<p>Here is the business object I am going to use:</p>
<pre>
<pre class="brush: delphi;">
TPerson = class
private
  FName: string;
  FAge: Integer;
  FOccupation: string;
public
  property Name: string read FName write FName;
  property Age: Integer read FAge write FAge;
  property Occupation: string read FOccupation write FOccupation;
end;
</pre>
</pre>
<p>And my form is as simple as they get too:</p>
<p><a href="http://sourcecodeadventures.files.wordpress.com/2009/11/image.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://sourcecodeadventures.files.wordpress.com/2009/11/image_thumb.png?w=244&#038;h=169" width="244" height="169" /></a> </p>
<p>The load button predictably loads the content of a TPerson instance into the form, the Save button does the reverse and Clear Form… well OK.</p>
<p>Here is the code for the Load and Save buttons:</p>
<pre>
<pre class="brush: delphi;">
procedure TCustomerForm.LoadButtonClick(Sender: TObject);
begin
  Binding.Load;
end;

procedure TCustomerForm.SaveButtonClick(Sender: TObject);
begin
  Binding.Save;
end;
</pre>
</pre>
<p>That is about as simple as it gets, right? An obvious enhancement is to make the form validate the values before assigning them to the form, but let’s not get ahead of ourselves.</p>
<p>The Binding variable above is of the TObjectBinding class which links together any TWinControl and any object. Before I show that – here are a few things you probably know, but let’s cover them anyway:</p>
<ol>
<li>All controls placed on a form at design time get their own published fields. This lets the streaming system know what should go into the form file and what shouldn’t. </li>
<li>Not all public properties on your business object necessarily need to be displayed on the form. And none of those properties that you want to display will be published unless you made them so. </li>
<li>Properties have names. So do screen controls. They may even match, but lots of programmers prefer to have their controls named something like AgeEdit or EdtAge instead of just Age. </li>
<li>Not all properties are writeable. In fact, you could (probably shouldn’t) even create properties that can be written to but not read. </li>
</ol>
<p>Clearly then, we can find the relevant controls by using Delphi’s new RTTI framework to iterate the published fields that are controls. Finding the relevant business object fields can be as simple as grabbing all the public and published properties or it can involve checking attributes. Or only properties with an even-length name. My class has a method to pick out valid fields and another to pick out valid properties. Modify these to your heart’s content.</p>
<p>And in production code you may want to pick up some of the form’s properties as well. Works well when you need to override some of the basic functionality.</p>
<h2>Building The Narrow Bridge</h2>
<p>Here is the class declaration – I’ll discuss the methods as we go along:</p>
<pre>
<pre class="brush: delphi;">TObjectBinding = class
private
  // Quick way to get from the object
  // field to its screen control.
  PropFieldMapping: TDictionary&#60;TRttiProperty, TRttiField&#62;;
  // Needed for RTTI.
  Context: TRttiContext;
  ControlType: TRttiType;
  ObjType: TRttiType;
  // The control (normally form) and
  // the object it represents.
  Control: TWinControl;
  Obj: TObject;
  // Finds the object properties that have corresponding
  // fields and stores them in the dictionary.
  procedure CreateMappings;
  function FindField(Prop: TRttiProperty; out Field: TRttiField): Boolean;
  function FieldClass(Field: TRttiField): TClass;
  // Modify these to change the rules about what
  // should be matched.
  function IsValidField(Field: TRttiField): Boolean;
  function IsValidProp(Prop: TRttiProperty): Boolean;
  // Modify these to change the mappings of property type
  // to VCL control class.
  procedure AssignField(Prop: TRttiProperty; Field: TRttiField);
  procedure AssignProp(Prop: TRttiProperty; Field: TRttiField);
  // Used from AssignField/AssignProp. Extend these to
  // support a wider range of properties.
  function GetPropText(Prop: TRttiProperty): string;
  procedure SetPropText(Prop: TRttiProperty; const Text: string);
public
  procedure Load;
  procedure Save;

  constructor Create(Control: TWinControl; Obj: TObject);
  destructor Destroy; override;
end;
</pre>
</pre>
<p>Load and Save can easily be supplemented here with Validate, which will use attributes specified on the business object properties to decide whether the current screen values are valid. If not, we don’t call Save at all.</p>
<p>The constructor and destructor do what you expect. They create and destroy the objects held in those private fields. The constructor also calls CreateMappings, which is where a lot of the fun stuff happens.</p>
<pre>
<pre class="brush: delphi;">
constructor TObjectBinding.Create(Control: TWinControl; Obj: TObject);
begin
  inherited Create;

  Self.Control := Control;
  Self.Obj := Obj;
  Context := TRttiContext.Create;
  ControlType := Context.GetType(Control.ClassInfo);
  ObjType := Context.GetType(Obj.ClassInfo);
  PropFieldMapping := TDictionary&#60;TRttiProperty, TRttiField&#62;.Create;
  CreateMappings;
end;

destructor TObjectBinding.Destroy;
begin
  PropFieldMapping.Free;
  ObjType.Free;
  ControlType.Free;
  Context.Free;

  inherited;
end;

procedure TObjectBinding.CreateMappings;
var
  Props: TArray&#60;TRttiProperty&#62;;
  Prop: TRttiProperty;
  Field: TRttiField;
begin
  Props := ObjType.GetProperties;
  for Prop in Props do
    if IsValidProp(Prop) and FindField(Prop, Field) then
      PropFieldMapping.Add(Prop, Field);
end;
</pre>
</pre>
<p>CreateMappings scans through all the properties on the business object and attempts to find fields on the form to match them to. If a match is found, they are stored in the PropFieldMapping dictionary for future reference.</p>
<p>Notice the IsValidProp function. That is where you should impose any additional rules about whether or not a property should be taken into account. The default implementation simply grabs all the public and published properties.</p>
<pre>
<pre class="brush: delphi;">
function TObjectBinding.IsValidProp(Prop: TRttiProperty): Boolean;
begin
  Result := Prop.Visibility &#62;= mvPublic;
end;
</pre>
</pre>
<p>Also, there is a FindField function. This little guy does a bit more than just grab all the published fields. Again, there is an IsValidField function for you to toy with. But it first attempts to find a control with a name that matches exactly with that of an approved property. If not, it also checks for a few common variants of the name (AgeEdit and EdtAge as mentioned before). This list will obviously need to grow if you support many more controls.</p>
<pre>
<pre class="brush: delphi;">
function TObjectBinding.FieldClass(Field: TRttiField): TClass;
begin
  Result := GetTypeData(Field.FieldType.Handle).ClassType;
end;

function TObjectBinding.IsValidField(Field: TRttiField): Boolean;
begin
  Result := (Field &#60;&#62; nil) and (Field.Visibility = mvPublished) and
    (Field.FieldType.TypeKind = tkClass) and
    (FieldClass(Field).InheritsFrom(TControl));
end;

function TObjectBinding.FindField(Prop: TRttiProperty; out Field: TRttiField): Boolean;
const
  Embelishments: array [0..5] of string =
    ('Edt', 'Edit', 'Combo', 'ComboBox', 'Lookup', 'Lkp');
var
  Emb: string;
begin
  Field := ControlType.GetField(Prop.Name);
  if IsValidField(Field) then
    Exit(True)
  else for Emb in Embelishments do
  begin
    Field := ControlType.GetField(Prop.Name + Emb);
    if not IsValidField(Field) then
      Field := ControlType.GetField(Emb + Prop.Name);
    if IsValidField(Field) then
      Exit(True);
  end;
  Result := False;
end;
</pre>
</pre>
<p>Now that we have a dictionary of business object properties and the screen fields that we want to link them to, we can take a look at the very similar-looking Load and Save methods.</p>
<pre>
<pre class="brush: delphi;">
procedure TObjectBinding.Load;
var
  Prop: TRttiProperty;
begin
  for Prop in PropFieldMapping.Keys do
    AssignField(Prop, PropFieldMapping[Prop]);
end;

procedure TObjectBinding.Save;
var
  Prop: TRttiProperty;
begin
  for Prop in PropFieldMapping.Keys do
    AssignProp(Prop, PropFieldMapping[Prop]);
end;
</pre>
</pre>
<p>AssignProp and AssignField are probably the two most difficult functions to write in this entire class. The problem is that Delphi’s TValue structure used in the new RTTI framework makes no attempt whatsoever to convert data. Instead, you need to do any conversions yourself and assign to the exact type you need. That isn’t too much of a problem, but it means lots of individually-crafted conversion blocks. </p>
<p>To keep my example manageable, I opted to convert everything to strings and back using GetPropText and SetPropText. And I only support string, Integer, Double and TDateTime. I didn’t use Double and TDateTime on my TPerson business object, but they do require a special trick that I wanted to show.</p>
<pre>
<pre class="brush: delphi;">
procedure TObjectBinding.AssignField(Prop: TRttiProperty; Field: TRttiField);
var
  NestedControl: TControl;
  PropText: string;
begin
  NestedControl := Field.GetValue(Control).AsObject as TControl;

  PropText := GetPropText(Prop);
  if NestedControl is TCustomEdit then
    TCustomEdit(NestedControl).Text := PropText
  else if NestedControl is TCustomComboBox then
    TComboBox(NestedControl).Text := PropText;
end;

procedure TObjectBinding.AssignProp(Prop: TRttiProperty; Field: TRttiField);
var
  NestedControl: TControl;
  FieldText: string;
begin
  NestedControl := Field.GetValue(Control).AsObject as TControl;

  if NestedControl is TCustomEdit then
    FieldText := TCustomEdit(NestedControl).Text
  else if NestedControl is TCustomComboBox then
    FieldText := TComboBox(NestedControl).Text
  else
    FieldText := '';

  SetPropText(Prop, FieldText);
end;

procedure TObjectBinding.SetPropText(Prop: TRttiProperty; const Text: string);
var
  V: TValue;
begin
  case Prop.PropertyType.TypeKind of
    tkInteger: V := StrToIntDef(Text, 0);
    tkFloat:
      if Prop.PropertyType.Handle = TypeInfo(TDateTime) then
        V := StrToDateDef(Text, 0)
      else
        V := StrToFloatDef(Text, 0);
    tkUString: V := Text;
    // And other types handled in similar ways
  else
    Exit; // Or some reasonable default action
  end;

  Prop.SetValue(Obj, V);
end;

function TObjectBinding.GetPropText(Prop: TRttiProperty): string;
var
  V: TValue;
begin
  V := Prop.GetValue(Obj);
  case Prop.PropertyType.TypeKind of
    tkInteger: Result := IntToStr(V.AsInteger);
    tkFloat:
      if Prop.PropertyType.Handle = TypeInfo(TDateTime) then
        Result := DateToStr(V.AsType&#60;TDateTime&#62;)
      else
        Result := FloatToStr(V.AsType&#60;Double&#62;);
    tkUString: Result := V.AsString;
    // And other types handled in similar ways
  else
    Result := ''; // Or some reasonable default
  end;
end;
</pre>
</pre>
<p>Firstly, the AssignProp and AssignField functions each has a check for every supported VCL control base class. So to support TCheckBox or TCheckListBox this is where you would add the additional support code. </p>
<p>Then take a look at GetPropText and SetPropText. They mirror one another of course, so we can learn what we need by inspecting GetPropText. </p>
<p>First thing to notice is that string properties use the tkUString type and not tkString as in pre-Unicode versions of Delphi. Also, we can simply read TValue.AsInteger when reading an integer value.</p>
<p>The trouble arises when we look at Double and TDateTime. TDateTime is actually a type alias for Double and they both show up as tkFloat. This is why I compare the type info from my property with the type info for TDateTime. The alternative would be to check the type name, but that thought makes me queasy. The same kind of thing will be needed to tell Boolean from other enumerated types.</p>
<p>Also, both Double and TDateTime are incompatible with TValue.AsExtended, which is of course a floating point type of a different size. So taking care of all these type conversions become really cumbersome, but of course you only need to write the code once. </p>
<h2>And that’s it</h2>
<p>Hooking all of this together, you can now have business objects that are completely detached from their editing screens. You’ll find that the screens become really trivial to develop – most cases involve little more than slapping on the controls, naming them and calling Load and Save. And that last bit can be done is a base class.</p>
<p>You also get to take advantage of all the other advantages that come with a proper split. You will find it easier to modify your business rules, easily use the same business logic in other contexts (say a bulk import versus the capture screen) and also be able to validate your business rules using automated tests. Good idea!</p>
<p>I can now show you my super-complex test app in action. Note that the first screen shot shows the names of both edit boxes and the combo box. Despite the different naming conventions, they all link up automatically to the correct properties.</p>
<p>1. Starting up.</p>
<p><a href="http://sourcecodeadventures.files.wordpress.com/2009/11/image1.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://sourcecodeadventures.files.wordpress.com/2009/11/image_thumb1.png?w=244&#038;h=169" width="244" height="169" /></a> </p>
<p>2. Click <em>Load Form</em>.</p>
<p><a href="http://sourcecodeadventures.files.wordpress.com/2009/11/image2.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://sourcecodeadventures.files.wordpress.com/2009/11/image_thumb2.png?w=244&#038;h=169" width="244" height="169" /></a> </p>
<p>3. Mess around with the values and click <em>Save to Object</em>.</p>
<p><a href="http://sourcecodeadventures.files.wordpress.com/2009/11/image3.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://sourcecodeadventures.files.wordpress.com/2009/11/image_thumb3.png?w=244&#038;h=169" width="244" height="169" /></a> </p>
<p>4. Click <em>Clear Form</em>.</p>
<p><a href="http://sourcecodeadventures.files.wordpress.com/2009/11/image4.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://sourcecodeadventures.files.wordpress.com/2009/11/image_thumb4.png?w=244&#038;h=169" width="244" height="169" /></a> </p>
<p>5. And finally, load again.</p>
<p><a href="http://sourcecodeadventures.files.wordpress.com/2009/11/image5.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://sourcecodeadventures.files.wordpress.com/2009/11/image_thumb5.png?w=244&#038;h=169" width="244" height="169" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Second Athlete confirmed......]]></title>
<link>http://sapusers.wordpress.com/2009/11/11/second-athlete-confirmed/</link>
<pubDate>Wed, 11 Nov 2009 23:09:00 +0000</pubDate>
<dc:creator>alanbowling</dc:creator>
<guid>http://sapusers.wordpress.com/2009/11/11/second-athlete-confirmed/</guid>
<description><![CDATA[Thanks to Atos Origin, Jason Gardener another Gold Medal sprinter will also be at the conference. Bo]]></description>
<content:encoded><![CDATA[Thanks to Atos Origin, Jason Gardener another Gold Medal sprinter will also be at the conference. Bo]]></content:encoded>
</item>
<item>
<title><![CDATA[Binding Grids to Hierarchical Data Using the ITypedList Interface]]></title>
<link>http://devmanic.wordpress.com/2009/11/11/binding-grids-to-hierarchical-data-using-the-itypedlist-interface/</link>
<pubDate>Wed, 11 Nov 2009 18:04:53 +0000</pubDate>
<dc:creator>Drew</dc:creator>
<guid>http://devmanic.wordpress.com/2009/11/11/binding-grids-to-hierarchical-data-using-the-itypedlist-interface/</guid>
<description><![CDATA[This looks to be the solution to my current struggle with binding a collection of multiple types of ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This looks to be the solution to my current struggle with binding a collection of multiple types of related objects to a grid. (Or a Devexpress XtraGrid!)</p>
<blockquote><p>Let’s start with an overview of the problem. If you want to create a grid-like user interface in an application, the easiest solution is to use the Microsoft DataGrid class or an off-the-shelf third party grid control such as the Infragistics UltraGrid, and assign the grid’s DataSource property to the data of interest.</p>
<p>This is simple if the data of interest is a DataSet object or other collection designed for easy integration with grids. But it’s not so easy if you want to connect the grid to a collection of application-specific objects. Most grids are designed such that if you assign the DataSource property to an arbitrary list of objects, something reasonable happens. The grid will typically use reflection to get the names and datatypes of the object’s members. But if you want to control which columns are displayed, how the values are formatted, and so on, then this solution is inadequate. And if the objects contain lists of other objects and you want the grid to be able to display the sublists, the problem is even more difficult.</p>
<p>Microsoft’s ITypedList interface provides a solution. It’s even rather elegant and minimal, although you wouldn’t think so from reading the documentation and examples. Underlying this solution is the PropertyDescriptor class, which provides all of the information required to deal with a particular table column, i.e. its datatype, display name, how to get its value given a row-level object, and so on. Specifically this class’s PropertyType property returns the column’s datatype as a Type object, it’s DisplayName property returns the column’s display name as a string, it’s GetValue method takes a row-level object and returns the column’s value, and so on. This is a great building block. All we need to do is provide the grid with a suitable list of property descriptors whenever the grid needs to know how to display a row. That’s where the ITypedList interface comes in. It provides a method called GetItemProperties which returns a list of PropertyDescriptor objects providing the grid with the information it needs.</p></blockquote>
<p>via <a href="http://blog.lab49.com/archives/705">Tips for binding grids to hierarchical data using the ITypedList interface » Lab49 Blog</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Conference just 2 weeks away!]]></title>
<link>http://sapusers.wordpress.com/2009/11/08/conference-just-2-weeks-away/</link>
<pubDate>Sun, 08 Nov 2009 18:33:21 +0000</pubDate>
<dc:creator>alanbowling</dc:creator>
<guid>http://sapusers.wordpress.com/2009/11/08/conference-just-2-weeks-away/</guid>
<description><![CDATA[As expected the number of delegates continues to swell &#8211; we&#8217;ve beaten 2006 already, look]]></description>
<content:encoded><![CDATA[As expected the number of delegates continues to swell &#8211; we&#8217;ve beaten 2006 already, look]]></content:encoded>
</item>
<item>
<title><![CDATA[Increasing interest for Corporate Performance Management (CPM) in Mid-Market Enterprises]]></title>
<link>http://sanjeevaggarwal.wordpress.com/2009/11/08/increasing-interest-for-corporate-performance-management-cpm-in-mid-market-enterprises/</link>
<pubDate>Sun, 08 Nov 2009 18:08:39 +0000</pubDate>
<dc:creator>sanjeevaggarwal</dc:creator>
<guid>http://sanjeevaggarwal.wordpress.com/2009/11/08/increasing-interest-for-corporate-performance-management-cpm-in-mid-market-enterprises/</guid>
<description><![CDATA[In today&#8217;s world overloaded with buzzwords, terms such as &#8220;Business Intelligence (BI)]]></description>
<content:encoded><![CDATA[In today&#8217;s world overloaded with buzzwords, terms such as &#8220;Business Intelligence (BI)]]></content:encoded>
</item>
<item>
<title><![CDATA[Left navigation panel not getting displayed in XIR2]]></title>
<link>http://kapilmalik.com/2009/11/07/left-navigation-panel-not-getting-displayed-in-xir2/</link>
<pubDate>Sat, 07 Nov 2009 01:26:02 +0000</pubDate>
<dc:creator>kapilmalik</dc:creator>
<guid>http://kapilmalik.com/2009/11/07/left-navigation-panel-not-getting-displayed-in-xir2/</guid>
<description><![CDATA[Click on selection for &#8216;Left Panel&#8217; at the top under &#8220;View&#8221; in infoview.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Click on selection for &#8216;Left Panel&#8217; at the top under &#8220;View&#8221; in infoview.</p>
<p><img src="http://kapilmalik.wordpress.com/files/2009/11/a.jpg" alt="A" title="A" width="122" height="165" class="alignleft size-full wp-image-108" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Contract Business Objects XIR2 or XIR3.1 Report Developer with Frameworki/FWi - Northwest UK - Public Sector - Excellent Rates ]]></title>
<link>http://businessintelligencespecialist.wordpress.com/2009/11/06/contract-business-objects-xir2-or-xir3-1-report-developer-with-frameworkifwi-northwest-uk-public-sector-excellent-rates/</link>
<pubDate>Fri, 06 Nov 2009 09:22:15 +0000</pubDate>
<dc:creator>adamsparey</dc:creator>
<guid>http://businessintelligencespecialist.wordpress.com/2009/11/06/contract-business-objects-xir2-or-xir3-1-report-developer-with-frameworkifwi-northwest-uk-public-sector-excellent-rates/</guid>
<description><![CDATA[Business Objects XIR2 or XIR3.1 Report Developer with Frameworki/FWi &#8211; Northwest UK &#8211; Pu]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Business Objects XIR2 or XIR3.1 Report Developer with Frameworki/FWi &#8211; Northwest UK &#8211; Public Sector</p>
<p>Urgent Business Objects XIR2 or XIR3.1 Contract &#8211; Business Objects Developer with experience reporting off of Corelogic&#8217;s Frameworki/Framwork-i/FWi Childrens or Adults Social Care system.</p>
<p>*4-6 Months+</p>
<p>*Excellent rates available</p>
<p>*Start ASAP but will wait for the right candidate</p>
<p>The ideal candidate should have:</p>
<p>*experience of Social Care</p>
<p>*Business Objects/BOXI release 2 or XI release 3 report writing</p>
<p>*Previous experience of Framework-i standard reports</p>
<p>Bonus</p>
<p>**Any Prince with Business Objects Data Services or Oracle 10g Database Development would benefit but not essential</p>
<p>Please send CV&#8217;s ASAP and I will contact you with more details.</p>
<div>
<div><span style="font-family:Calibri;color:#808080;">Regards</span></div>
<div><span style="color:#808080;"><span style="font-family:Calibri;">Adam Sparey </span></span></div>
<div><span style="font-family:Calibri;color:#808080;">Senior Consultant</span></div>
<div><span style="font-family:Calibri;color:#808080;"><a href="mailto:adamsparey@peoplesource.co.uk">adamsparey@peoplesource.co.uk</a></span></div>
<div><span style="font-family:Calibri;color:#808080;">0117 922 7000</span></div>
<div><span style="font-family:Arial;font-size:x-small;"><span style="color:#808080;"><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="color:gray;"><strong> </strong></span></span></span></span></span></div>
<div><span style="font-family:Arial;font-size:x-small;"><span style="color:#808080;"><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="color:gray;"><strong><span style="color:#ff0000;"><span style="font-family:Arial;color:#000000;font-size:x-small;">Get</span></span><span style="color:#0000ff;font-size:x-small;"><span style="color:gray;"><span style="color:#000000;"><span style="font-family:Arial;color:#000000;"> rewarded for recommending a friend or colleague to People  Source</span></span></span></span></strong></span></span></span></span></span></div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Impact of SQL Sever upgrade on Business Objects]]></title>
<link>http://shahfaisalmuhammed.wordpress.com/2009/11/06/sql-sever-upgrade-impact-on-business-objects/</link>
<pubDate>Fri, 06 Nov 2009 09:02:05 +0000</pubDate>
<dc:creator>Shahfaisal Muhammed</dc:creator>
<guid>http://shahfaisalmuhammed.wordpress.com/2009/11/06/sql-sever-upgrade-impact-on-business-objects/</guid>
<description><![CDATA[Question: I am upgrading from SQL Sever 2000 to SQL Server 2005. How will this impact Business Objec]]></description>
<content:encoded><![CDATA[Question: I am upgrading from SQL Sever 2000 to SQL Server 2005. How will this impact Business Objec]]></content:encoded>
</item>
<item>
<title><![CDATA[BIAR Issues/bugs - SAP Business Objects XI R2/3.x]]></title>
<link>http://shahfaisalmuhammed.wordpress.com/2009/11/05/biar-issuesbugs-business-objects-xi-r23-x/</link>
<pubDate>Thu, 05 Nov 2009 20:08:11 +0000</pubDate>
<dc:creator>Shahfaisal Muhammed</dc:creator>
<guid>http://shahfaisalmuhammed.wordpress.com/2009/11/05/biar-issuesbugs-business-objects-xi-r23-x/</guid>
<description><![CDATA[Many a times, I have been asked this questions by developers I have worked with and I have seen thes]]></description>
<content:encoded><![CDATA[Many a times, I have been asked this questions by developers I have worked with and I have seen thes]]></content:encoded>
</item>
<item>
<title><![CDATA[BO Notes]]></title>
<link>http://360bi.wordpress.com/2009/11/05/bo-notes/</link>
<pubDate>Thu, 05 Nov 2009 07:50:51 +0000</pubDate>
<dc:creator>360bi</dc:creator>
<guid>http://360bi.wordpress.com/2009/11/05/bo-notes/</guid>
<description><![CDATA[I will soon add notes on Business Objects]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I will soon add notes on Business Objects</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Business Intelligence/BI &amp; Data Warehousing/DWH Management Consultant - £75K - £120K dependent on experience + Excellent Benefits - London/Southeast/UK Wide]]></title>
<link>http://businessintelligencespecialist.wordpress.com/2009/11/03/business-intelligencebi-data-warehousingdwh-management-consultant-75k-120k-dependent-on-experience-excellent-benefits-londonsoutheastuk-wide/</link>
<pubDate>Tue, 03 Nov 2009 11:12:38 +0000</pubDate>
<dc:creator>adamsparey</dc:creator>
<guid>http://businessintelligencespecialist.wordpress.com/2009/11/03/business-intelligencebi-data-warehousingdwh-management-consultant-75k-120k-dependent-on-experience-excellent-benefits-londonsoutheastuk-wide/</guid>
<description><![CDATA[Business Intelligence/BI &amp; Data Warehousing/DWH Management Consultant &#8211; £75K &#8211; £120K]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Business Intelligence/BI &#38; Data Warehousing/DWH Management Consultant &#8211; £75K &#8211; £120K dependent on experience + Excellent Benefits &#8211; London/Southeast/UK Wide</p>
<p>I have a requirement for a Management consultant to join my prestigious global consultancy. The ideal candidate should be able to:</p>
<p>*Demonstrable track record of business consulting and project delivery in Business Intelligence and Data Warehousing across multiple projects with a demonstrable mix of experience in both technical and business consulting. </p>
<p>*Have engagement management skills and commercial awareness including ITT (Invitation to Tender), RFP (Request for Proposal) and bid management.</p>
<p>*Have knowledge of a number of key technologies and tools within the BI/DW sector e.g. Business Objects, Cognos, Oracle, SQL Server, Teradata, Ab-Initio, Informatica, Datastage, SAP BW, Business Objects Data Integrator/Data Services/BODI/Data Quality, PL/SQL &#38; TSQL to name a few.  </p>
<p>*Ability to articulate business and technical issues related to Business Intelligence.</p>
<p>*Experience of working in a number of sectors. </p>
<p>*Success in a client-facing role with experience gained in project delivery either at board level/one level below or into Customer project teams – Program Manager or Project Manager. This will include demonstrable ability to cope with political issues and sensitivities. </p>
<p>*Willingness and ability to contribute to proposition development within their areas of skill. </p>
<p>Full mobility is essential.</p>
<p>£75K &#8211; £120K dependent on experience + Excellent Benefits.</p>
<p>Start ASAP but will wait up to 3 Months for the right candidate.</p>
<p>Please send CV&#8217;s ASAP and I will contact you with more details<br />
Regards<br />
Adam Sparey<br />
Head of Business Intelligence, ETL and Data Warehousing<br />
adamsparey@peoplesource.co.uk<br />
0117 922 7000</p>
<p>Get rewarded for recommending a friend or colleague to People Source</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Contract - Business Objects BOXI 3.1 - Data Services/Data Quality ETL Developer - SC Cleared – Excellent rates available]]></title>
<link>http://businessintelligencespecialist.wordpress.com/2009/11/03/contract-business-objects-boxi-3-1-data-servicesdata-quality-etl-developer-sc-cleared-%e2%80%93-excellent-rates-available/</link>
<pubDate>Tue, 03 Nov 2009 11:10:48 +0000</pubDate>
<dc:creator>adamsparey</dc:creator>
<guid>http://businessintelligencespecialist.wordpress.com/2009/11/03/contract-business-objects-boxi-3-1-data-servicesdata-quality-etl-developer-sc-cleared-%e2%80%93-excellent-rates-available/</guid>
<description><![CDATA[Contract &#8211; Business Objects BOXI 3.1 &#8211; Data Services/Data Quality ETL Developer &#8211; ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Contract &#8211; Business Objects BOXI 3.1 &#8211; Data Services/Data Quality ETL Developer &#8211; SC Cleared – Excellent rates available</p>
<p>I have an urgent requirement for a Business Objects Data Quality/Data Services ETL Consultant for a 6 month contract based in London. The ideal candidate should have experience with Business Objects Data Quality this tool is bundled with Data Services the BOXI 3.1 edition of Business objects Data Integrator (BODI). The candidate will be purely working with the ETL tool so experience with Universe Design or Report Development in unnecessary. </p>
<p>The ideal candidate should hold current CTC, SC or DV Clearance (Home Office, Police or MOD) however I may consider candidates willing to go through this process. </p>
<p>Excellent rates Available</p>
<p>Skills must have:<br />
Business Objects XIR3 Data Quality experience </p>
<p>Other skills that would benefit:<br />
Oracle 10g/11g or SQL 2005 </p>
<p>Please send CV&#8217;s ASAP and I will contact you with more details.<br />
Regards<br />
Adam Sparey<br />
Senior Consultant<br />
adamsparey@peoplesource.co.uk<br />
0117 922 7000</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Breaking News........]]></title>
<link>http://sapusers.wordpress.com/2009/10/31/breaking-news/</link>
<pubDate>Sat, 31 Oct 2009 21:55:44 +0000</pubDate>
<dc:creator>alanbowling</dc:creator>
<guid>http://sapusers.wordpress.com/2009/10/31/breaking-news/</guid>
<description><![CDATA[We hope to be able to confirm in the next week, another UK World Championship medal winner in attend]]></description>
<content:encoded><![CDATA[We hope to be able to confirm in the next week, another UK World Championship medal winner in attend]]></content:encoded>
</item>
<item>
<title><![CDATA[So you want to use Windows 7 with SAP Business One and Crystal reports......]]></title>
<link>http://sapusers.wordpress.com/2009/10/31/so-you-want-to-use-windows-7-with-sap-business-one-and-crystal-reports/</link>
<pubDate>Sat, 31 Oct 2009 19:27:37 +0000</pubDate>
<dc:creator>alanbowling</dc:creator>
<guid>http://sapusers.wordpress.com/2009/10/31/so-you-want-to-use-windows-7-with-sap-business-one-and-crystal-reports/</guid>
<description><![CDATA[Well guess what &#8211; it&#8217;s not a problem! Orchestra a company from the US reports that it wo]]></description>
<content:encoded><![CDATA[Well guess what &#8211; it&#8217;s not a problem! Orchestra a company from the US reports that it wo]]></content:encoded>
</item>
<item>
<title><![CDATA[New article posted in Computer Weekly]]></title>
<link>http://sapusers.wordpress.com/2009/10/29/new-article-posted-in-computer-weekly/</link>
<pubDate>Thu, 29 Oct 2009 21:07:21 +0000</pubDate>
<dc:creator>alanbowling</dc:creator>
<guid>http://sapusers.wordpress.com/2009/10/29/new-article-posted-in-computer-weekly/</guid>
<description><![CDATA[I got another article published in Computer Weekly this week, both online and in print. It also spar]]></description>
<content:encoded><![CDATA[I got another article published in Computer Weekly this week, both online and in print. It also spar]]></content:encoded>
</item>
<item>
<title><![CDATA[Expert C# 2005 Business Objects Second Edition]]></title>
<link>http://esal.wordpress.com/2009/10/25/expert-c-2005-business-objects-second-edition/</link>
<pubDate>Sun, 25 Oct 2009 07:26:16 +0000</pubDate>
<dc:creator>esal</dc:creator>
<guid>http://esal.wordpress.com/2009/10/25/expert-c-2005-business-objects-second-edition/</guid>
<description><![CDATA[Expert C# 2005 Business Objects Second Edition by Rockford Lhotka Introduction Th is book is about a]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;"><strong>Expert C# 2005 Business Objects Second Edition</strong></p>
<p style="text-align:center;">by Rockford Lhotka</p>
<p><img class="aligncenter size-full wp-image-1454" title="Expert C Sharp 2005 Business Objects 2nd Edition - Rockford" src="http://esal.wordpress.com/files/2009/10/expert-c-sharp-2005-business-objects-2nd-edition-rockford.jpg" alt="Expert C Sharp 2005 Business Objects 2nd Edition - Rockford" width="254" height="335" /></p>
<p style="text-align:center;"><a href="http://www.ziddu.com/download/7064239/ExpertCSharp2005BusinessObjects2ndEdition-Rockford.pdf.html"><img class="aligncenter" src="http://bse.depdiknas.go.id/images_gif/download.gif" border="0" alt="" width="91" height="31" /></a></p>
<p style="text-align:justify;"><strong>Introduction</strong></p>
<p style="text-align:justify;">Th is book is about application architecture, design, and development in .NET using objectoriented concepts. The focus is on business-focused objects called business objects, and how to implement them to work in various distributed environments, including web and client/server configurations. The book makes use of a great many .NET technologies, object-oriented design and programming concepts, and distributed architectures.</p>
<p style="text-align:justify;">The first half of the book walks through the process of creating a framework to support objectoriented application development in .NET. This will include a lot of architectural concepts and ideas. It will also involve some in-depth use of advanced .NET techniques to create the framework.</p>
<p style="text-align:justify;">The second half of the book makes use of the framework to build a sample application with several different interfaces. If you wish, it’s perfectly possible to skip the first half of the book and simply make use of the framework to build object-oriented applications.</p>
<p style="text-align:justify;">One of my primary goals in creating the CSLA .NET framework was to simplify .NET development. Developers using the framework in this book don’t need to worry about the details of underlying technologies such as remoting, serialization, or reflection. All of these are embedded in the framework, so that a developer using it can focus almost entirely on business logic and application design, rather than getting caught up in “plumbing” issues.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Création d'une chaire Business Intelligence à Centrale]]></title>
<link>http://notjustbi.wordpress.com/2009/10/18/creation-dune-chaire-business-intelligence-a-centrale/</link>
<pubDate>Sun, 18 Oct 2009 07:11:01 +0000</pubDate>
<dc:creator>ross-well</dc:creator>
<guid>http://notjustbi.wordpress.com/2009/10/18/creation-dune-chaire-business-intelligence-a-centrale/</guid>
<description><![CDATA[L&#8217;objectif de la chaire est de promouvoir la Business Intelligence suivant deux volets, d]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>L&#8217;objectif de la chaire est de promouvoir la Business Intelligence suivant deux volets, d&#8217;un coté l&#8217;enseignement de l&#8217;autre la recherche. Dans le cas de Centrale, ils se sont associés à SAP avec une participation financière de leur part sur 5 ans. Avec le nom de cette chaire, c&#8217;est la branche Business Objects qui sera la plus impliquée.</p>
<p>L&#8217;aspect recherche doit permettre de sensibiliser aux besoins d&#8217;innovations tandis que l&#8217;aspect enseignement doir permettre de sensibiliser les étudiants aux enjeux de la BI.</p>
<p><a href="http://www.decideo.fr/SAP-BusinessObjects-et-Centrale-Paris-inaugurent-ensemble-une-chaire-de-Business-Intelligence_a3440.html" target="_blank">Source</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Senior Business Objects XI R2 Universe Architect]]></title>
<link>http://itjobsincolumbus.wordpress.com/2009/10/18/senior-business-objects-xi-r2-universe-architect/</link>
<pubDate>Sun, 18 Oct 2009 02:57:35 +0000</pubDate>
<dc:creator>kriserravelli</dc:creator>
<guid>http://itjobsincolumbus.wordpress.com/2009/10/18/senior-business-objects-xi-r2-universe-architect/</guid>
<description><![CDATA[Senior Business Objects XI R2 Universe Architect Face to face interview Length of Assignment:  This ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Senior Business Objects XI R2 Universe Architect</p>
<p>Face to face interview<br />
Length of Assignment:  This assignment is for an indefinite period consisting of ongoing projects.  The first project is anticipated to last 3<br />
- 6 months</p>
<p>Location:  Columbus,Ohio</p>
<p>Position Description:</p>
<p>We are currently accepting resumes for a Senior Business Objects XI R2 Universe Architect/Developer with 8 + years of experience in delivering Business Intelligence solutions.  Minimum of 3 years experience developing on the XI platform.  As a key member of the Data Warehouse development team, your role may include the following responsibilities:</p>
<p>·     Review functional/non-functional requirements and specification<br />
documents; interview end users to understand business process and refine requirements.<br />
·     Research source data locations to validate requirements<br />
·     Preparation/Validation of Unit/Integration Test cases/documentation<br />
·     Perform Root Cause Analysis on defects discovered during Test phases<br />
of the Project.<br />
·     Partner with Support to complete design/code review and ensure<br />
knowledge transfer is successful.<br />
Requirements:<br />
Qualifications:<br />
·     Bachelors degree in Computer Science, Engineering, or related field.<br />
·     10+ years of experience architecting data warehousing and business<br />
intelligence solutions<br />
·     Demonstrated experience designing. prototyping, developing and<br />
deploying Crystal Xcelsius solutions<br />
·     Significant experience developing Logical data models that support<br />
Reporting and Analytics<br />
·     Experience with source system data profiling and Strong SQL skills<br />
·     Proven experience using aggregate aware, contexts for multi subject<br />
Universes, use of derived tables, complex measure using functions, complex logical counts, and averages.<br />
·     Significant experience with Webi SDK model.<br />
·     Strong understanding of designing data acquisition/integration<br />
strategy utilizing Informatica V 8<br />
·     Experience designing and developing DW/BI solutions on IBM DB2 V9<br />
Infoshpere suite of products.<br />
·     Solid understanding of UNIX scripting and familiarity of Mercury<br />
Quality Center.<br />
·     Excellent troubleshooting skills and analytical ability<br />
·     Excellent customer communication skills<br />
·     Ability to resolve complex problems seeking guidance when necessary<br />
·     Qualified candidates should be dynamic, professional, team-oriented,<br />
self-motivated individuals.</p>
<p> </p>
<p>Thank you<br />
Kris Erravelli<br />
Technical Recruiter<br />
Phone: 614-337-6528<br />
email :kerravelli@ssicom.com<br />
<a href="mailto:kris.erravelli@gmail.com">kris.erravelli@gmail.com</a><br />
Sophisticated Systems Inc<br />
<a href="http://www.linkedin.com/in/kriserravelli">http://www.linkedin.com/in/kriserravelli</a></p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
