text:
1911 Encyclopædia Britannica/Francis, Sir Philip
FRANCIS, SIR PHILIP (1740–1818), English politician and pamphleteer, the supposed author of the Letters of Junius, and the chief antagonist of Warren Hastings, was born in Dublin on the 22nd of October 1740. He was the only son of Dr Philip Francis (c. 1708–1773), a man of some literary celebrity in his time, known by his translations of Horace, Aeschines and Demosthenes. He received the rudiments of an excellent education at a free school in Dublin, and afterwards spent a year or two (1751–1752) under his father's roof at Skeyton rectory, Norfolk, and elsewhere, and for a short time he had Gibbon as a fellow-pupil. In March 1753 he entered St Paul's school, London, where he remained for three years and a half, becoming a proficient classical scholar. In 1756, immediately on his leaving school, he was appointed to a junior clerkship in the secretary of state's office by Henry Fox (afterwards Lord Holland), with whose family Dr Francis was at that time on intimate terms; and this post he retained under the succeeding administration. In 1758 he was employed as secretary to General Bligh in the expedition against Cherbourg; and in the same capacity he accompanied the earl of Kinnoul on his special embassy to the court of Portugal in 1760.
In 1761 he became personally known to Pitt, who, recognizing his ability and discretion, once and again made use of his services as private amanuensis. In 1762 he was appointed to a principal clerkship in the war office, where he formed an intimate friendship with Christopher D'Oyly, the secretary of state's deputy, whose dismissal from office in 1772 was hotly resented by "Junius"; and in the same year he married Miss Macrabie, the daughter of a retired London merchant. His official duties brought him into direct relations with many who were well versed in the politics of the time. In 1763 the great constitutional questions arising out of the arrest of Wilkes began to be sharply canvassed. It was natural that Francis, who from a very early age had been in the habit of writing occasionally to the newspapers, should be eager to take an active part in the discussion, though his position as a government official made it necessary that his intervention should be carefully disguised. He is known to have written to the Public Ledger and Public Advertiser, as an advocate of the popular cause, on many occasions about and after the year 1763; he frequently attended debates in both Houses of Parliament, especially when American questions were being discussed; and between 1769 and 1771 he is also known to have been favourable, to the scheme for the overthrow of the Grafton government and afterwards of that of Lord North, and for persuading or forcing Lord Chatham into power. In January 1769 the first of the Letters of Junius appeared, and the series was continued till January 21, 1772. They had been preceded by others under various signatures such as, "Candor," "Father of Candor," "Anti-Sejanus," "Lucius," "Nemesis," which have all been attributed, some of them certainly in error, to one and the same hand. The authorship of the Letters of Jnnius has been assigned to Francis on a variety of grounds (see Junius).
In March 1772 Francis finally left the war office, and in July of the same year he left England for a tour through France, Germany and Italy, which lasted until the following December. On his return he was contemplating emigration to New England, when in June 1773 Lord North, on the recommendation of Lord Barrington, appointed him a member of the newly constituted supreme council of Bengal at a salary of £10,000 per annum. Along with his colleagues Monson and Clavering he reached Calcutta in October 1774, and a long struggle with= Warren Hastings, the governor-general, immediately began. These three, actuated probably by petty personal motives, combined to form a majority of the council in harassing opposition to the governor-general's policy; and they even accused him of corruption, mainly on the evidence of Nuncomar. The death of Monson in 1776, and of Clavering in the following year, made Hastings again supreme in the council. But a dispute with Francis, more than usually embittered, led in August 1780 to a minute being delivered to the council board' by Hastings, in which he stated that " he judged of the public conduct of Mr Francis by his experience of his private, which he had found to be void of truth and honour." A duel was the consequence, in which Francis received a dangerous wound (see Hastings, Warren). Though his recovery was rapid and complete, he did not choose to prolong his stay abroad. He arrived in England in October 1781, and was received with little favour.
Little is known of the nature of his occupations during the next two years, except that he was untiring in his efforts to procure first the recall, and afterwards the impeachment of his hitherto triumphant adversary. In 1783 Fox produced his India Bill, which led to the overthrow of the coalition government. In 1784 Franciswas returned by the borough of Yarmouth, Isle of Wight; and although he took an opportunity to disclaim every feeling of personal animosity towards Hastings, this did not prevent him, on the return of the latter in 1785, from doing all in his power to bring forward 'and support the charges which ultimately led to the impeachment resolutions of 1787. Although excluded by a majority of the House from the list of the managers of that impeachment, Francis was none the less its most energetic promoter, supplying his friends Burke and Sheridan with all the materials for their eloquent orations and burning invectives. At the general election of 1790 he was returned member-for Bletchingley. He sympathized warmly and actively with the French revolutionary doctrines, expostulating with Burke on his vehement denunciation of the same. In 1793 he supported Grey's motion for a return to the old constitutional system-of representation, and so earned the title to be regarded as one of the earliest promoters of the cause of parliamentary reform; and he was one of the founders of the " Society of the Friends of the People." The acquittal of'Hastings in April 1795 disappointed Francis of the governor-generalship, and in 1798 he had to submit to the additional mortincation of a defeat in the general election. He was' once more successful, however, in 1802, when he sat for Appleby, and it seemed as if the great ambitions of his life were about to be 'realized when the Whig party came into power in 1806. His disappointment was great when the governor-generalship was, owing to party exigencies, conferred on Sir Gilbert Elliot (Lord Minto); he declined, it is said, soon afterwards the government of the Cape, but accepted a K.C.B. Though re-elected for Appleby in 1806, he failed to secure a seat in the following year; and the remainder of his life was spent in comparative privacy.
Among the later productions of his pen were, besides the Plan of a Reform in the Election of the House of Commons, pamphlets entitled Proceedings in the House of Commons on the Slave Trade (1796), Reflections on the Abundance of Paper in Circulation and the Scarcity of Specie (1810), Historical Questions Exhibited (1818), and a Letter to Earl Grey on the Policy of Great Britain and the Allies towards Norway (1814). His first wife, by whom he had six children, died in 1806, and in 1814 he married his second wife, Emma Watkins, who long survived him, and who left voluminous manuscripts relating to his biography. Francis died on the 23rd of December 1818. In his domestic relations he was exemplary, 'and he lived on terms of mutual affection with a wide circle of friends. He was, however, full of vindictiveness, dissimulation and treachery, and there can be little doubt that in his historic conflict with Warren Hastings unworthy personal motives played a leading part.


text:
Ghetto Love - Jaheim
You got me baby
This here going for all the ladies, oh
1- All I really want is your ghetto love
24/7 we'll be makin' love
I'll take it downess if you want me too
Just one and many things I wanna do to you
(Girl) Don't you get scared
I'm gonna take my time
Whatever it takes that'll make you mine
It's getting late save a thing for J
Let me love you my ghetto love way, yeah
Baby 2 weeks ago I might you at that party
You was knockin' by and rockin' lookin' my way
Standin' at the crossing at the party
I was tempting (Tempting) to slide across the floor
To drop my digits
Then you looked and turned away
Like you weren't with it
But I knew in my heart that I
Could rippin' girl
I'm givin' you what you wanna do
Repeat 1
Stop frontin' it's time to give a
N_gga what he wanted
You know I got that flavor
Don't you want it? (Don't you want it)
While I'm lookin' in your eyes
As you kissin' on my lips
Girl I'm rubbin' on your thighs
You got me slippin' (slippin')
To find a tahj got a n_gga chicken, yeah
So all I wanna do
What you wanna do?
While you persistent upon
I got's to tell the truth
Repeat 1
(Flippin' up) Stop the fake keep it real
What's the deal (Wanna tear it up)
You know just where a man
Ain't trying it right for you
(Wanna wipe it up) Slide up to my crib
That's where I penetrate (Wanna tear it up)
Shawnalay by the fire place you ridin' (Wanna wipe it up)
JaJa's gonna freak you know
How you want it girl (Gonna tear it up)
Gonna put in work until you see the sun
Come up (Gonna wipe it up)
Hands up in my back
She done it like that
That's all I really want
Tell me can you handle that?
Repeat 1 til fade

subset: commoncrawl


text:
Search for your perfect gift ...
Shopping Basket
All Christmas Gifts
Gifts For Men
Advent Calendars
Baby's 1st Christmas
Childrens Gifts
Christmas Eve Boxes
Gifts For The Family
Gifts For Women
Gifts For Grandparents
Gifts For Couples
Personalised Gifts
Personalised Baubles
Secret Santa Gifts
Soft Toys
Stockings and Sacks
Stocking Fillers
Top 20 Christmas Gifts
Christmas Cards
Anniversary Gifts by Year
1st Anniversary - Paper
2nd Anniversary - Cotton
3rd Anniversary - Leather
4th Anniversary - Linen
5th Anniversary - Wood
6th Anniversary - Iron
7th Anniversary - Wool
8th Anniversary - Bronze
9th Anniversary - Pottery
10th Anniversary - Tin
11th Anniversary - Steel
12th Anniversary - Silk
13th Anniversary - Lace
14th Anniversary - Ivory
15th Anniversary - Crystal
20th Anniversary - China
25th Anniversary - Silver
30th Anniversary - Pearl
35th Anniversary - Coral
40th Anniversary - Ruby
45th Anniversary - Sapphire
50th Anniversary - Gold
55th Anniversary - Emerald
60th Anniversary - Diamond
65th Anniversary - Blue Sapphire
70th Anniversary - Platinum
Anniversary Gifts
Anniversary Gifts For Couples
Anniversary Gifts For Him
Anniversary Gifts For Her
Personalised Gifts
Anniversary Frames
Anniversary Cards
By Year
Our Anniversary
Your Anniversary
Mum & Dad
Birthday Gifts
Birthday Gifts By Year
1st Birthday Gifts
18th Birthday Gifts
21st Birthday Gifts
30th Birthday Gifts
40th Birthday Gifts
50th Birthday Gifts
60th Birthday Gifts
65th Birthday Gifts
70th Birthday Gifts
80th Birthday Gifts
90th Birthday Gifts
100th Birthday Gifts
Birthday Gifts For Him
Birthday Gifts For Her
Childrens Birthday Gifts
Personalised Birthday Gifts
Birthday Frames
Birthday Cards
For Him
For Her
By Age
By Recipient
Personalised Gifts
All Personalised Gifts
Gifts For The Home
Cheese and Chopping Boards
Cuddly Toys
Gifts For Her
Gifts For Him
Keepsake Boxes
Money Boxes
Pens and Box Sets
Pillow Cases
Engraved Gifts
Crystal Gifts
Glass Gifts
Silver Gifts
Slate Gifts
Wooden Gifts
Engraved Glasses
Champagne Flutes
Pint Glasses
Whisky Glasses
Wine Glasses
Embroidered Gifts
Embroidered Aprons
Embroidered Baby Gifts
Embroidered Childrens Gifts
Embroidered Soft Toys
Embroidered Towels
Personalised Jewellery
Compact Mirrors
Pocket Watches
Trinket Boxes
Personalised Books
Childrens Books
Books for Adults
Sports Books
Photo Frames
Food and Drink Gifts
Beer Gifts
Sweet Jars
Whisky Gifts
Wine and Spirits
All Photo Gifts
Photo Upload Gifts
Photo Frames
Photo Albums
Posters and Prints
Photo Upload Cards
Anniversary Gifts
Anniversary Gifts by Year
Anniversary Gifts For Couples
Anniversary Gifts For Him
Anniversary Gifts For Her
Personalised Gifts
Anniversary Frames
Anniversary Cards
Birthday Gifts
Birthday Gifts By Year
Birthday Gifts For Her
Birthday Gifts For Him
Birthday Frames
Childrens Birthday Gifts
Personalised Birthday Gifts
Romantic Birthday Gifts
More Birthday Gifts
Birthday Cards
Christening Gifts
Personalised Gifts
Christening Candles
Jewellery and Bracelets
Christening Photo Albums
Christening Gifts For Boys
Christening Gifts For Girls
God Parent Gifts
Godfather Gifts
Godmother Gifts
Christening Frames
Christening Cards
Best Man Gifts
Bride and Groom Gifts
Bridesmaids Gifts
Father of the Bride or Groom
Flower Girl Gifts
Groomsmen Gifts
Guest Books and Albums
Mother of the Bride or Groom
Page Boy Gifts
Personalised Wedding Gifts
Usher Gifts
Wedding Frames
Baptism Gifts
Christmas Gifts
Communion and Confirmation Gifts
Good Luck Gifts
Easter Gifts
Engagement Gifts
Fathers Day Gifts
Graduation Gifts
Mothers Day Gifts
Naming Day Gifts
Remembrance Gifts
Retirement Gifts
Valentine's Gifts
By Person
Gifts For The Family
Gifts For Mum
Gifts For Dad
Gifts For Wives
Gifts For Husbands
Gifts for Grandma
Gifts for Grandad
Gifts for Sisters
Gifts for Brothers
Gifts for Aunties
Gifts for Uncles
Gifts for Daughters
Gifts for Sons
Frames For The Family
Baby Gifts
Baby Albums
New Parent Gifts
Personalised Baby Gifts
Embroidered Baby Gifts
Personalised Baby Grows
Baby Photo Frames
Baby Shower
New Baby Cards
Gifts For Children
Gifts For Girls
Gifts For Boys
Childrens Books
Disney Gifts
Games and Gadgets
Personalised Childrens Gifts
School Gifts
Gifts For Women
Gift Ideas For Her
Women's Jewellery
Pamper Gifts
Personalised Womens Gifts
Gifts For Men
Gift Ideas For Men
Mens Experience Days
Mens Personalised Gifts
Sports Gifts For Men
Grandparent Gifts
Gifts For Grandma
Gifts For Grandad
Grandparents Frames
Gifts For Teenagers
Gifts For Friends
Gifts For Teachers
Gift Ideas
Luxury Gifts
For Men
For Women
Personalised Gifts
Sports Gift Ideas
Football Gift Ideas
Golf Gift Ideas
Photo Albums
Wedding Photo Albums
Grandparent Albums
Anniversary Albums
Baby Albums
Soft Toys
Soft Toys - Animals
Soft Toys - Bears
Soft Toys - Extra Large
Soft Toys - Personalised
Soft Toys - Embroidered
Soft Toys - Rocking Horses
New Arrivals
Aromatherapy Gifts
Chocolates and Sweets
Clocks and Watches
Corporate Gifts
Collectable Figurines
Animal Figurines
Female Figurines
Mystic Legends
Objets d'art Glass
Romantic Figurines
Gifts For Couples
Gifts For Gardeners
Journals and Notebooks
Pet Lovers Gifts
Rocking Horses
Romantic Gifts
Novelty & Fun
Fun Gifts
Mens Things
Girly Gifts
Desktop Gadgets
Tech Gifts
Fun Games
Boredom Busting Activities
Drinking Games
Family Games
Games for Adults
Jigsaw Puzzles
Retro Games
Novelty Childrens Gifts
Bottle Stoppers
Chocolates and Sweets
Retro Gifts
Star Wars Gifts
Unicorn Gifts
Best Man Gifts
Bride and Groom Gifts
Bridesmaids Gifts
Father of the Bride or Groom
Flower Girl Gifts
Groomsmen Gifts
Guest Books and Albums
Mother of the Bride or Groom
Page Boy Gifts
Personalised Wedding Gifts
Usher Gifts
Wedding Frames
Wedding Cards
Special Couple
My Husband
My Wife
Civil Partnership
Photo Upload
Personalised Cards
Any Occasion Photo Cards
Birthday Cards
Wedding Cards
Anniversary Cards
Seasonal Cards
Other Occasions
Photo Upload
All Experience Days
Lamborghini Gallardo Junior Drive
Back to home page
Lamborghini Gallardo Junior Drive
Lamborghini Gallardo Junior Drive
Add to basket
Email me when back in stock
Email me when back in stock
Please complete this form and we will email you as soon as this item is back in stock again.
Your Name *
Your Email *
Email Me
In Stock
E-voucher Available
More Product Information
Product Details
A chance to drive the world famous Lamborghini... at the age of 12! Experience 6 miles of adrenaline fuelled excitement, with an ARDS registered Instructor! You can follow in the footsteps of superstars with this unforgettable driving experience that is sure to leave you with memories that will last a lifetime, and driving skills which will impress even Richard Hammond.
[["Llandow, Cowbridge CF71 7PB, UK",51.4326003,-3.4954839,0],["Kirkbride Airfield, Kirkbride, Wigton CA7 5HP, UK",54.8775646,-3.2101385,1],["North Weald Bassett, Epping CM16 6AR, UK",51.7320762,0.1643043,2],["Crail, Anstruther KY10 3XL, UK",56.2723427,-2.6160462,3],["Kirton Rd, Blyton, Gainsborough DN21 3PE, UK",53.4469834,-0.680224,4],["Hooton, Ellesmere Port CH65 1BR, UK",53.3092185,-2.9416311,5],["Prince Rupert Dr, Tockwith, York YO26 7QS, UK",53.9667365,-1.2954795,6]]
At the Leicestershire location the day begins with a welcome, briefing and safety briefing on driving techniques, followed by an instructor driven demonstration lap in a performance training car. Then comes the main event with 10 minutes driving a Lamborghini with an Instructor round the track. At the end of the day you will be presented with an individual driving certificate. Please expect to spend up to two hours at the venue. At the Staffordshire, North Weald, Blyton Park and Llandow locations the day will begin with a welcome, introduction and safety briefing on the circuit and driving techniques. Then comes the main event - driving a Lamborghini Gallardo for 6 miles with an instructor at your side. Your instructor will give you a short debrief and complete your driver analysis form, and at the end of the day you will be presented with an individual driving certificate.
Voucher valid for 10 months. Your experience includes a 6 mile Lamborghini Gallardo drive for one person. Availability is Monday to Friday, at selected locations weekend bookings may be available for a supplement fee. Your course will last approximately 40-60 minutes. Minimum height is 5'0" / 1.5m. Minimum age is 12 years. All parents/guardians will have to sign an indemnity form on behalf of the child. Parents/guardians must remain on site during the period of the child's activity. You will have the choice of buying a collision damage waiver for an additional charge of £25 (£20 at Staffordshire). Please note, all locations are subject to seasonal opening times. All dates are subject to availability.
Related Product
Gifts You Viewed
Customers Also Liked
Personalised Teddy Message Bear
Personalised Photo Upload Apron
Photo Candle
Personalised Photo Upload Mug
Personalised Photo Upload Cushion Large With Pad
Added To Basket
Lamborghini Gallardo Junior Drive has been added to your basket
Continue Shopping
Checkout Now


text:
It can be hard fitting in when you're a kid, and it can be especially challenging for children with disabilities. UK mom Sarah Ivermee decided to take steps to make life a bit more fun for her son, Freddie. Due to Congenital CMV, Freddie is completely deaf in one ear and suffers from hearing loss in another. Consequently, he has to wear a cochlear implant, which is normally quite utilitarian looking.
Due to Freddie's own insecurity over wearing the device and at the encouragement of other moms, Invermee created My Lugs, selling sticker kits and decals to decorate hearing aids with the pop culture images of their choice. Whether it is various superheroes, Teenage Mutant Ninja Turtles, or the Despicable Me minions, kids now have tons of options to dress up their hearing aids and wear them with pride.
(Via Mashable)


text:
A healthy smile can always be yours. Regular visits to us will ensure that your teeth and gums are healthy and that you keep your beautiful smile.
At II0 dental we believe that early dental disease detection is critical.
Preventive dentistry is the modern way to reduce the amount of dental treatment needed to maintain a healthy smile. The two major causes of tooth loss are decay and gum disease. Regular visits to us will ensure early detection and prompt preventative treatment.
The joint efforts of the dentist, hygienist and patient can help to prevent the need for treatment.
Our dental hygienists are specially trained in prevention and treatment of gum disease and the continuing care of your teeth, restorations and gums. Early detection of disease will save the need for complicated, lengthy and costly treatment.
Our hygienists appreciate that everyone is different and therefore advice, treatment and monitoring is specially tailored to your individual needs.
Fissure sealants are a way of preventing decay from starting in the deep grooves and fissures that occur naturally on the biting surfaces of teeth. These surfaces are protected by the application of a tooth coloured resin sealant. The sealant makes the tooth surface smoother and easier to clean and prevents decay from starting. Fissure sealants are especially recommended if decay was present in the baby teeth.
If you don't have any teeth you can also benefit from regular examinations as conditions such as mouth cancer and dental stomatitis can be spotted early.
At II0 dental oral cancer checks are carried out at each dental examination. Regular monitoring is essential for continued dental health.


text:
Knysna has been awarded on more than one occasion South Africa's favourite town of the year award.
Over the years many have relocated to Knysna to enjoy and experience a life style sought after by South Africans and foreigners investing in prime property on the Southern Cape coast. Being the hub of the Garden Route and surrounded by many top class golf courses within a 100 kilometre radius offering modern, secure properties the area also offers a variety of outdoor activities for the nature lovers such as the Garden of Eden, Rheenedal Ramble, Featherbed Nature Reserve, Brenton Blue Meander and of course the beaches at the Heads, Leisure Isle, Coney Glen, Buffalo Bay, Brenton on Sea and Noetzie.
For the adventurous abseiling, sailing, boating, bungy jumping, canoeing, cycling, fishing and horse riding is on offer.
Property investment in Knysna remains a low risk investment where a variety of properties are on offer. For the entry level purchaser opportunities such as apartments are available otherwise a freehold property on stands varying in size from 500 square metres to 1500 square metres.
The other extreme would service the upmarket purchaser, one wishing to be "on the water, or with sea or lagoon views". Others prefer mountain and valley views which would mean being north facing obviously an important factor here in the southern hemisphere. Dependent upon the location these property prices begin from approximately R3,500,000.00. There are numerous options in the middle income group for example between R1,500,000 to R2,700,000 price range.
Many opportunities exist to purchase vacant land, commercial and industrial property.
All services necessary for home owners are already in place such as garden services, cleaning services, plumbers, electricians, painters and general maintenance contractors.
Investment in property here remains a safe investment with capital growth virtually guaranteed.


text:
BioShock Infinite is a very good game. Kotaku certainly thinks so, and with a Metacritic score currently tied for highest all-time, the greater gaming journalism community seems to agree. From start to finish, the game delivers on both story and gameplay in spades. What elevates Infinite from being just an enjoyable game to being an experience that will be played and talked about for years to come, however, is the final act. Infinite's ending is a master class in poignant storytelling, but as the fabric of time and space literally begins to unravel around you, many players were (understandably) left saying "Wait... What?" [WARNING: HERE THERE BE SPOILERS, OBVIOUSLY!]
The team behind Infinite learned from its predecessor's mistakes. Rather than have the big reveal 3/4 of the way through, only to close it out with a disappointing denouement, Infinite saves the core revelation of the story until the absolute last lines of dialogue spoken in the game (not counting the little post-credits scene).
"He's Zachary Comstock."
"He's Booker DeWitt."
"No... I'm both."
Those closing moments are powerful on so many levels. They're also damn confusing. A healthy understanding of the many-worlds interpretation of quantum mechanics helps in reconciling some of that confusion, but real-world quantum theory doesn't have much to say about a girl who can rip holes in spacetime at will.
DeWitt is Comstock. Elizabeth is Anna. That much is certain. The rest? That's a little foggier.
I have my own interpretation and opinion about the ending and the story as a whole, but I'd like to hear what the Kotaku community thinks. What did you make of the ending? How do you feel about it? Was the final scene a revelation of sudden clarity for you, or did it just add another wrinkle to the mystery? And what did that post-credits scene mean? Let's discuss.


text:
[This local archive copy mirrored from http://www.webmethods.com/technology/Automating.html, text only; see this canonical version of the document or its successor if possible.]
The problem of direct access to Web data from within business applications has until recently been largely ignored. The Web Interface Definition Language (WIDL) is an application of the eXtensible Markup Language (XML) which allows the resources of the World Wide Web to be described as functional interfaces that can be accessed by remote systems over standard Web protocols. WIDL provides a practical and cost-effective means for diverse systems to be rapidly integrated across corporate intranets, extranets, and the Internet.
This article appears in "XML: Principles, Tools, and Techniques",
WIDL: Application Integration with XML
The explosive growth of the World Wide Web is providing millions of end-users access to ever-increasing volumes of information. The resources of legacy systems, relational databases and multi-tier applications have all been made available to the Web browser, which has been transformed from an occasionally informative accessory into an essential business tool for organizations large and small.
While the Web has achieved the extraordinary feat of providing ubiquitous accessibility to end-users, it has in many cases reinforced manual inefficiencies in business processes as repetitive tasks are required to transcribe or copy and paste data from browser windows into desktop and corporate applications. This is as true of Web data provided by remote business units and external (i.e. partner or supplier) organizations as it is of Web data accessible from both public and subscription based Web sites.
Business units that have previously been unable to agree on middleware and data interchange standards are (by default) agreeing on HTTP and HTML as data communication and presentation standards. Because of the overwhelming focus on the browser almost all Web applications require interaction with a human user. The problem of direct access to Web data from within business applications has been largely ignored, as has the possibility of using the Web as a platform for automated information exchange between organizations. The debut of XML is set to change all this, and in the process spark a major Web revolution: Web Automation.
XML enables the creation of Web documents that preserve data structure and include "machine-readable" hooks to enable intelligent processing by client applications. It is not necessary, however, for Web content to exist as XML in order for XML to be used today to automate the Web. The use of XML to deliver metadata about existing Web resources can provide sufficient information to empower non-browser applications to automate interactions with Web servers.
XML metadata defining interfaces to Web-enabled applications can provide the basis for a common API across legacy systems, databases, and middleware infrastructures, effectively transforming the Web from an access medium into an integration platform.
Web Automation
Imagine everything a browser can do: sign-on to a secure Web-site; query that site for data, download the results, upload a response. Now imagine that your business applications can do the same thing, automatically, without human intervention and without using a browser. This is the power of Web Automation.
The benefits of Web Automation are numerous:
The incredible diversity of Web resources presents significant challenges for the automation of arbitrary tasks on the Web.
A robust infrastructure for Web Automation needs to provide:
In order to integrate business systems over the Web, it is not sufficient to have only data that describes itself; it is also necessary to have metadata that describes the behavior of services hosted by Web servers.
webMethods has defined the Web Interface Definition Language (WIDL) as an application of XML to lay the foundation for Web Automation.
The goal of the Web Interface Definition Language (WIDL) is to enable automation of all interactions with HTML/XML documents and forms, providing a general method of representing request/response interactions over standard web protocols, and allowing the Web to be utilized as a universal integration platform.
Where XML supports the creation of Web content that preserves data structure, and promises Web documents that are "machine-readable", WIDL is an application of XML that defines interfaces and services within and across HTML, XML, and text documents. Services defined by WIDL map existing Web content into program variables, allowing the resources of the Web to be made available, without modification, in formats well-suited to integration with diverse business systems.
WIDL brings to the Web many of the features of IDL concepts that have been implemented in distributed computing and transaction processing platforms including DCE, and CORBA. A major part of the value of DCE and CORBA is that they can define services offered by applications in an abstract but highly usable fashion. WIDL describes and automates interactions with services hosted by Web servers on intranets, extranets and the Internet; it provides a standard integration platform and a universal API for all web-enabled systems.
A service defined by WIDL is equivalent to a function call in standard programming languages. At the highest level, WIDL files are collections of services. WIDL defines the location (URLs) of each service, input parameters to be submitted (via GET or POST methods) to each service, and output parameters to be returned by each service.
WIDL provides the following features:
WIDL can be used to describe interfaces and services for:
WIDL also has the ability to specify conditions for successful completion of a service, and error messages to be returned from services to calling programs. Conditions further enable services to be defined that span multiple documents.
Applications of WIDL
The success of the Web has exposed the advantages of distributed information systems to a global audience. Around the world IT organizations, regardless of industry, are searching for ways to connect the Internet with new or existing applications, to use Web technology to reduce development, deployment, and maintenance costs.
Using HTML, XML and HTTP as corporate standards glue, application integration requires only that target systems be Web-enabled. There are hundreds of products in the market today which Web-enable existing systems, from mainframes to client/server applications. The use of standard Web technologies empowers various IT departments to make independent technology selections. This has the effect of lowering both the technical and 'political' barriers that have typically derailed cross-organizational integration projects.
The use of proprietary middleware infrastructures to integrate applications requires not only that the same software product be purchased by both organizations and successfully installed in both target hardware environments, but also that both target applications be tailored to support the middleware API. This type of investment can be disastrous if one company spends six months designing a CORBA-based business system only to discover that one of their business units or business partners is unable to install CORBA because it conflicts with their existing infrastructure. Conflicts can arise because of hardware or software incompatibilities, or simply because of difficulties in acquiring appropriate development resources.
A number of analysts have already warned that proprietary e-commerce platforms could lock suppliers into relationships by forcing them to integrate their systems with one infrastructure for business-to-business integration, making it costly for them to switch to or integrate with other partners who have selected alternate e-commerce platforms. Buyer-supplier integration issues involve many-to-many relationships, and demand a standard platform for functional integration and data exchange.
Here is a brief overview of the types of applications that WIDL enables:
Manufacturers and Distributors
Human Resources
Shipping and Delivery Services
Shipping companies were early leaders in bringing widely applicable functionality to the Web. Web-based package tracking services provide important logistics information to organizations large and small.
Many organizations employ people for the sole purpose of manually tracking packages to ensure customer satisfaction and to collect refunds for packages that are delivered late. Integrating package tracking functionality directly into warehouse management and customer service systems is a huge benefit, boosting productivity and enabling more efficient use of resources.
Using WIDL, the web-based package tracking services of numerous shipping companies can be described as common application interfaces, to be integrated with various internal systems. In almost all cases, programmatic interfaces to different package tracking services are identical, which means that WIDL can impose consistency in the representation of functionality across systems.
Example 1 illustrates the use of WIDL to define a package tracking service for Federal Express. Note that the WIDL specifies a 'Shipping' template. This indicates that there is a general class of shipping services and that this particular WIDL is one implementation of the shipping interface.
Example 1. The WIDL Representation of a Package Tracking Service
<WIDL NAME="FedexShipping" Template="Shipping" BASEURL="http://www.fedex.com" VERSION="2.0"> <SERVICE NAME="TrackPackage" METHOD="GET" URL="/cgi-bin/track_it" INPUT="TrackInput" OUTPUT="TrackOutput" /> <BINDING NAME="TrackInput" TYPE="INPUT"> <VARIABLE NAME="TrackingNum" TYPE="String" FORMNAME="trk_num" /> <VARIABLE NAME="DestCountry" TYPE="String" FORMNAME="dest_cntry" /> <VARIABLE NAME="ShipDate" TYPE="String" FORMNAME="ship_date" /> </BINDING> <BINDING NAME="TrackOutput" TYPE="OUTPUT"> <CONDITION TYPE="FAILURE" REFERENCE="doc.title[0].text" MATCH="FedEx Warning Form" REASONREF="doc.p[0].text['&.*']" /> <CONDITION TYPE="SUCCESS" REFERENCE="doc.title[0].text" MATCH="FedEx Airbill:*" REASONREF="doc.p[1].value" /> <VARIABLE NAME="disposition" TYPE="String" REFERENCE="doc.h[3].value" MASK="$*" /> <VARIABLE NAME="deliveredOn" TYPE="String" REFERENCE="doc.h[5].value" MASK="%%%$*" /> <VARIABLE NAME="deliveredTo" TYPE="String" REFERENCE="doc.h[7].value" MASK="*:" /> </BINDING> </WIDL>
The FedexShipping interface in example 1 contains one service (TrackPackage) which takes three input parameters (TrackingNum, DestCountry, ShipDate) and returns three output parameters (disposition, deliveredOn, deliveredTo). The WIDL definition describing the TrackPackage service is stored in an ASCII file which is utilized by client programs at runtime to determine both the location of the service (URL) and the structure of documents that contain the desired data. Client programs access WIDL definitions from local files, naming services such as LDAP, HTTP servers, or other URL access schemes (see figure 3).
Unlike the way CORBA and DCE IDL are normally used, WIDL is interpreted at runtime. As a result, Service, Condition, and Variable definitions within WIDL files can be administered without requiring modification of client code. This usage model supports application-to-application linkages that are far more robust and maintainable than if they were coded by hand.
One of WIDL's most significant benefits is its ability to insulate client programs from changes in the format and location of Web documents. As long as the parameters of services do not change, Service URLs, object references in variables, regions, and conditions can all be modified without affecting applications that utilize WIDL to access Web resources.
There are three models for WIDL management:
WIDL does not require that existing Web resources be modified in any way. Flexible management models allow organizations to describe and integrate Web sites that are beyond their control, as well as to provide their business partners with interfaces to services that are controlled. The ability to seamlessly migrate from independent to shared management eases the transition from informal to formal business-to-business integration.
Elements of WIDL
The Web Interface Definition Language (WIDL) consists of six XML tags:
The complete WIDL DTD is included in Appendix A. In the next sections the attributes of each element of WIDL are presented and discussed by way of example.
<WIDL> is the parent element for the Web Interface Definition Language; it defines an interface. Interfaces are groupings of related services and bindings. The following are attributes of the <WIDL> element:
NAME - required. Establishes a name for an interface. The interface name is used in conjunction with a service name for naming or directory services.
VERSION - optional. specifies the version of WIDL. webMethods first implemented WIDL as HTML extension tags. Experience with customers since late 1996 resulted in WIDL 2.0, an application of XML that is capable of automating complex interactions across multiple Web servers.
TEMPLATE - optional. WIDL enables common interfaces to services provided by multiple sites. Templates allow the specification of interfaces, implementations of which may be available from multiple sources. A shipping template defines a functional interface for shipping services; various implementations can be provided for FederalExpress, UPS, and DHL.
BASEURL - optional. BASEURL is similar to the <BASE HREF=""> statement in HTML. Some of the services within a given WIDL may be hosted from the same Base URL. If BASEURL is defined, the URL for various services can be defined relative to BASEURL. This feature is useful for replicated sites which can be addressed by changing only the BASEURL, instead of the URL for each service.
OBJMODEL - optional. Specifies an object model to be used for extracting data elements from HTML and XML documents. Object models are the result of parsing HTML or XML documents. The use of object models is central to the functionality of WIDL. Object References are used in <VARIABLE/>, <CONDITION/> and <REGION/> elements. For this reason, the object model will be briefly discussed before proceeding with the description of the element definitions that constitute WIDL.
Object Model
Many of the features of WIDL require a capability to reliably extract specific data elements from Web documents and map them to output parameters.
Two candidate technologies for data extraction are pattern matching and parsing. Pattern matching extracts data based on regular expressions, and is well suited to raw text files and poorly constructed HTML documents. There is a lot of bad HTML in the world! Parsing, on the other hand, recovers document structure and exposes relationships between document objects, enabling elements of a document to be accessed with an object model.
Using an object model, an absolute reference to an element of an HTML document might be specified:
This reference would retrieve the text of the first paragraph of a given document.
From both a development and an administrative point of view, pattern matching is more labor intensive for establishing and maintaining relationships between data elements and program variables. Regular expressions are difficult to construct and prone to breakage as document structures change. For instance, the addition of formatting tags around data elements in HTML documents could easily derail the search for a pattern. An object model, on the other hand, can see through many such changes.
Patterns must also be carefully constructed to avoid unintentional matching. In complex cases, patterns must be nested within patterns. The process of mapping patterns to a number of output parameters can easily become unmanageable.
It is possible to achieve the best of both worlds by using pattern matching when necessary to match against the attributes of elements accessible via an Object Model. Using a hybrid model of pattern matching within parsed objects provides for the extraction of target information from preformatted text regions or text files.
This reference would retrieve the text of the first paragraph that contains 'Currency:' within a given document.
Various object models for working with HTML documents have been specified. The W3C has established a working group to define a standard Document Object Model (DOM). The WIDL specification allows for multiple object models. In implementing WIDL, we discovered many functional requirements not currently addressed by existing object models. These requirements will be demonstrated in various examples later in this article.
We now continue with a discussion of the attributes of the elements of the WIDL.
The <SERVICE/> element describes a Web service, such as those provided by CGI scripts, or via NSAPI, ISAPI, or other back-end Web server programs. Services take a set of input parameters, perform some processing, then return a dynamically generated HTML, XML or text document.
The attributes of the <SERVICE/> element map an abstract service name into a service's actual URL, specify the HTTP method to be used to access the service, and designate 'bindings' for input and output parameters.
NAME - required. Establishes a name for a service. The service name is used in conjunction with an interface name for naming or directory services.
URL - required. Specifies the Uniform Resource Locator for the target document. A service URL can be either a fully qualified URL or a partial URL that is relative to the BASEURL provided as an attribute of the <WIDL> element.
METHOD - required. Specifies the HTTP method ("Get" or "Post") to be used to access the service.
INPUT - required. Designates the <BINDING> to be used to define the input parameters for programs that call the service. The specified name must be that of a <BINDING> contained within the same <WIDL> as the service.
OUTPUT - required. Designates the <BINDING> to be used to define the output parameters for programs that call the service. The specified name must be that of a <BINDING> contained within the same <WIDL> as the service.
AUTHUSER - optional. Establishes the username for HTTP authentication.
AUTHPASS - optional. Establishes the password for HTTP authentication.
TIMEOUT - optional. Amount of time before service times out.
RETRIES - optional. Number of times to retry the service before failing.
Typically the username/password combination is set independent of service definitions in WIDL. The AUTHUSER and AUTHPASS attributes allow a username and password to be defined outside of a calling program. This is useful in cases where multiple client programs use the same service.
The <BINDING> element defines input and output variables for a service. Input bindings describe the data provided to a Web resource, and are analogous to the input fields in an HTML form. For a static HTML document no input variables are required. Output bindings describe which data elements are to be mapped from the output document returned as a result of accessing the Web resource with the given input variables. In most cases an output binding will map only a subset of the available elements in the output document.
NAME - required. Identifies the binding for reference by service definitions and other binding definitions.
TYPE - required. Specifies whether a binding defines input or output parameters.
The <VARIABLE/> element is used to describe both input and output binding parameters; different attributes are used depending on the type of parameter being described.
Common attributes are:NAME - required. Identifies the variable to calling programs.
VALUE - optional. Designates a value to be assigned to the variable in HTTP transactions. For input variables this has the effect of rendering the variable invisible to calling programs, i.e. the specified value is submitted to the web service without requiring an input from calling programs. For output variables this has the effect of hard-coding the value returned when the service is invoked.
USAGE - optional. The default usage of variables is for specification of input and output parameters. Variables can also be used internally within WIDL, as well as to pass header information (i.e. USER-AGENT or REFERER) in an HTTP request. The USAGE attribute will be explored in the examples following this overview of the <VARIABLE/> element.
TYPE - required. Specifies both the data type and dimension of the variable.
The following attributes are specific to input variables:
FORMNAME - optional. Specifies the variable name to be submitted via Get or Post methods. Obscure back-end variables can be given names that are more meaningful in the context of the service described by WIDL. Used in conjunction with WIDL Templates, FORMNAME permits the mapping of a single variable name across multiple service implementations. In the package tracking service in example 1 the FORMNAME differs from the variable name. It is also possible to set FORMNAME="" to pass only the variable's value to the back-end program.
OPTIONS - optional. Captures the options of list boxes, check boxes, and radio buttons. Useful for validating inputs prior to submitting input parameters to a service and for transforming input criteria into formats acceptable to back-end programs. For example, an options list could be used to translate a meaningful input of "full" to the "f" acceptable to a back-end program.
The following attributes are specific to output variables:
REFERENCE - optional. Specifies an object reference to extracts data from the HTML, XML or text document returned as the result of a service invocation.
MASK - optional. Masks permit the use of pattern matching and token collecting to easily strip away unwanted labels and other text surrounding target data items.
NULLOK - optional. Overrides the implicit condition that all output variables return a non-null value.
Apart from the "default" behavior of variables defined in input bindings, there are two other usage models supported by WIDL: "internal" and "header". The USAGE attribute can define service inputs in place of or in addition to those required by a web service's HTML form.
Internal variables enable variable substitution within input and output bindings. For instance, using internal variables a portion of a service's URL or a pattern for matching within an object reference can be specified as a variable that is part of an input binding.
Header variables allow HTTP header information to be included as part of a service request. This is useful in many situations, including the passing of referrer information where required by back-end systems.
In Example 2 an auto loan service is defined for a site that uses a directory structure to organize loan information for various states. Rather than using CGI-scripts to access a database of high, low, and average loan rates, unique URLs which contain a state abbreviation as part of target document names are linked from a pick list. The use of internal variables enables the parameterization of a portion of the URL. In this fashion, WIDL is able define an input binding even though no HTML forms are present to query the user for information. The input binding specifies a variable 'state' that is referenced in the URL attribute of the service definition as '%state%'. At runtime the value passed into the 'state' variable is used to complete the service URL.
Example 2. Internal variables can be used to paramaterize directory structures
<WIDL NAME=autoLoan VERSION=2.0> <SERVICE NAME=AutoLoan METHOD=GET URL="http://www.bankrate.com/autobytel/abt%state%a.htm" INPUT="AutoLoanInput" OUTPUT="AutoLoanOutput" /> <BINDING NAME=AutoLoanInput TYPE=INPUT> <Variable NAME=state TYPE=String FORMNAME="state" USAGE="INTERNAL" /> </BINDING> <BINDING NAME="AutoLoanOutput" TYPE="OUTPUT"> <CONDITION TYPE="Failure" REASONTEXT="State not found" /> <VARIABLE NAME="state" TYPE="String" REFERENCE="doc.table[4].tr[1].th[0].text" /> <VARIABLE NAME="avgNew" TYPE="String" REFERENCE="doc.table[4].tr[2].td[1].text" /> <VARIABLE NAME="highNew" TYPE="String" REFERENCE="doc.table[4].tr[2].td[2].text" /> <VARIABLE NAME="lowNew" TYPE="String" REFERENCE="doc.table[4].tr[2].td[3].text" /> <VARIABLE NAME="avgUsed" TYPE="String" REFERENCE="doc.table[4].tr[3].td[1].text" /> <VARIABLE NAME="highUsed" TYPE="String" REFERENCE="doc.table[4].tr[3].td[2].text" /> <VARIABLE NAME="lowUsed" TYPE="String" REFERENCE="doc.table[4].tr[3].td[3].text" /> </BINDING> </WIDL>
Because the AutoLoan service uses a variable to complete the URL to access a static document, an invalid input parameter results in an invalid URL. The <CONDITION/> statement in the output binding traps the document not found condition and returns a sensible error message to client programs.
Internal variables can also be used within object references that use pattern matching to index into the object tree.
Example 3 uses the currency exchange service provided by the Federal Reserve Bank to illustrate the use of internal variables to interactively query a single static document.
Example 3. Internal variables enable input criteria to be used in object references
<WIDL NAME="FederalReserve" TEMPLATE="Currency" BASEURL="http://www.ny.frb.org/" VERSION="2.0"> <SERVICE NAME="ExchangeRate" METHOD="GET" URL="/pihome/mktrates/forex12.shtml" INPUT="currencyInput" OUTPUT="currencyOutput" /> <BINDING NAME="currencyInput" TYPE="INPUT"> <VARIABLE NAME="Currency" TYPE="String" FORMNAME="CURRENCY" USAGE="INTERNAL" /> </BINDING> <BINDING NAME="currencyOutput" TYPE="OUTPUT"> <CONDITION TYPE="FAILURE" REASONTEXT="Currency not found" /> <VARIABLE NAME="rate" TYPE="String" REFERENCE="doc.pre[0].line['*%Currency%*'].text[53-65]" /> </BINDING> </WIDL>
In this example currency rates for a number of countries are provided in a single document. The object reference for the 'rate' variable in the output binding uses an internal variable 'Currency' as part of the pattern that is matched to discover the current exchange rate.
The object reference used in this example also demonstrates two additional text manipulation features of the object model developed by webMethods. The .line[] construct allows access to individual lines of both preformatted text and text that has been formatted with the <br> line-break element. This greatly simplifies pattern matching expressions within object references.
The Federal Reserve Currency Exchange service returns rate information in a column from character position 53 to character position 65. This range of characters is specified by qualifying the .text[53-65] attribute of the line matching the input criteria.
The <CONDITION/> element is used in output bindings to specify success and failure conditions for the extraction of data to be returned to calling programs. Conditions enable branching logic within service definitions; they are used to attempt alternate bindings when initial bindings fail and to initiate service chains, whereby the output variables from one service are passed into the input bindings of a second service. Conditions also define error messages returned to calling programs when services fail.
TYPE - required. Specifies whether a condition is checking for the 'Success' or the 'Failure' of a binding attempt.
Any variable that returns a NULL value will cause the entire binding to fail, unless the NULLOK attribute of that variable has been set to true. Conditions can catch the success or failure of either a specific object reference or of an entire binding. In the case where a condition initiates a service chain, it is important that all variables bind properly.
REFERENCE - optional. Specifies an object reference which extracts data from the HTML or XML document returned as the result of a service invocation. The REFERENCE attribute for conditions is equivalent to the REFERENCE attribute used in variable definitions.
MATCH - required. Specifies a text pattern that will be compared with the object property referenced by the REFERENCE attribute.
REBIND - optional. Specifies an alternate output binding. Typically a failure condition indicates that the document returned cannot be bound properly. REBIND redirects the binding attempt. This is useful in situations where the documents returned by a service are dependent upon the input criteria that was submitted. For example, a retail web site may return a different document structure for an SKU depending on whether the item requested is a shirt, a tie, or trousers. The use of REBIND allows a conditions to determine the appropriate binding for extracting the desired data.
SERVICE - optional. Specifies a service to invoke with the results of an output binding. Aside from the obvious benefit of chaining services to further automate the tasks that can be encapsulated for client programs, there are many cases when target documents can only be retrieved after visiting several Web pages in succession. In some instances cookies are issues by an entry page that must be visited prior to interacting with HTML forms, in others URLs are dynamically generated from databases for specific user identities.
REASONTEXT - optional. The text to be returned as an error message when a service fails.
REASONREF - optional. Reference to an object's element to be returned as an error message when a service fails.
WAIT - optional. Amount of time to wait before re-trying retrieval of a document after a server has returned a 'service busy' error.
RETRIES - optional. Number of times to retry the service before failing.
Example 4 illustrates the use of conditions to specify alternate bindings. Alternate bindings can be used when documents returned by services are dependent upon the inputs submitted to the service. In some rare cases, such as the stockMarketInfo service defined in this example, a service occasionally returns different document formats for no apparent reason. Conditions and rebinding handle any such situations.
Example 4. Conditions initiate alternate bindings attempts for extraction of output values
<WIDL NAME="Yahoo" VERSION="2.0"> <SERVICE NAME="StockMarketInfo" METHOD ="GET" URL="http://quote.yahoo.com/" OUTPUT ="marketOut"> <BINDING NAME="marketOut" TYPE="Output"> <CONDITION Type="Failure" REBIND="marketOut2" /> <VARIABLE TYPE="String[][]" NAME="info" REFERENCE="doc.table[0].tr[0].td[].text" /> <VARIABLE TYPE="String[]" NAME="links" REFERENCE="doc.table[0].tr[0].a[].href" /> </BINDING> <BINDING NAME="marketOut2" TYPE="Output"> <VARIABLE TYPE="String[][]" NAME="info" REFERENCE="doc.table[1].tr[0].td[].td[].text" /> <VARIABLE TYPE="String[]" NAME="links" REFERENCE="doc.table[1].tr[0].a[].href" /> </BINDING> </WIDL>
Example 5 illustrates the use of conditions to specify a service chain. Service Chains pass the name-value pairs of an output binding into the input binding of the service specified by a <CONDITION/> statement. Any name-value pairs matching the variables of the chained service's input binding will be used as input parameters. In this example the productSearch service returns a URL when it successfully finds a product matching the search criteria. The success condition on the ProductSearchOutput binding causes the ExtractPrices service to be called. Because the output binding of productSearch matches the input binding of ExtractPrices, the variables are passed from one service into the other.
Example 5. Service Chains: the output values of the first service are passed into the second service.
<WIDL NAME="EddieBaeur" VERSION=2.0> <SERVICE NAME="ProductSearch" METHOD=GET URL="http://www.ebauer.com/eb/ShopEB/prod_search_results.asp" INPUT="productSearchInput" OUTPUT="productSearchOutput" /> <BINDING NAME="productSearchInput" TYPE="INPUT"> <VARIABLE NAME="searchstring" FORMNAME="searchstring" </BINDING> <BINDING NAME="productSearchOutput" TYPE="OUTPUT"> <CONDITION TYPE="Failure" REFERENCE="doc.p['*Sorry*'].text" MATCH="*Sorry*" REASONREF="doc.p['*Sorry*'].text" /> <CONDITION TYPE="Success" SERVICE="ExtractPrices" /> <VARIABLE NAME="productURL" TYPE="String" REFERENCE="doc.table[0].tr[1].td[3].a[0].href" /> </BINDING> <SERVICE NAME="ExtractPrices" METHOD=GET URL="%productUrl%" INPUT="ExtractPricesInput" OUTPUT="ExtractPricesOutput" /> <BINDING NAME="ExtractPricesInput" TYPE="INPUT"> <VARIABLE NAME="productUrl" TYPE="String" USAGE="INTERNAL" /> </BINDING> <BINDING NAME="ExtractPricesOutput" TYPE="OUTPUT"> <VARIABLE NAME="Price" TYPE="String" REFERENCE="doc.table[1].strong[0].value['*\$$']" /> </BINDING> </WIDL>
It is important to note that the ExtractPrices service can be called independent of the productSearch service, and that the ExtractPrices service specifies productURL as an internal variable. The output variables from the productSearch service are not available to the ExtractPrices service except in the case where they have been passed via an input binding.
Service chains make it possible to interact with "shopping cart" services, where multiple service calls are required to add items, followed by a service call to submit an order.
The <REGION/> element is used in output bindings to define targeted sub-regions of a document. This is useful in services that return variable arrays of information in structures that can be located between well known elements of a page. Regions are critical for poorly designed documents where it is otherwise impossible to differentiate between desired data elements (for instance story links on a news page) and elements that also match the search criteria.
NAME - required. Specifies the name for a region. This name can then be used as the root of an object reference. For instance, a region named "foo" can be used in object references such as:
START - required. An object reference that determines the beginning of a region.
END - required. An object reference that determines the end of a region.
Example 6 demonstrates the use of regions in a news service, where the number of news stories varies day to day. Regions permit the extraction of data elements relative to other features of a document. The "tops" region begins with a text object that matches the pattern 'Last Updated' and ends with an object that matches 'For more*'.
Variable references into the "tops" region collect arrays of anchors and anchor text, regardless of the fact that the sizes of the arrays change throughout the day. The object references within "tops" are vastly simplified by the processing already provided by the region definition:
It is also worth noting that the news service in Example 6 has no input binding. Input Bindings are not required for service definitions.
Example 6. Regions permit the extraction of data elements relative to other features of a document.
<WIDL NAME="News" VERSION="2.0"> <SERVICE NAME="Techweb" METHOD="GET" URL="http://www.techweb.com/" OUTPUT="techwebOut"> <BINDING NAME="techwebOut" TYPE="OUTPUT"> <REGION NAME="tops" START="doc.font['Last Updated*']" END="doc.b['For more*']" /> <VARIABLE NAME="service" TYPE="String" VALUE="TECHWEB Top Stories" /> <VARIABLE NAME="url" TYPE="String" REFERENCE="doc.url" /> <VARIABLE NAME=stories TYPE="String[]" REFERENCE="tops.a[].text" /> <VARIABLE NAME="links" TYPE="String[]" REFERENCE="tops.a[].href" /> </BINDING> </WIDL>
Object References
The default object model used by WIDL provides object references for accessing elements and properties of HTML and XML documents. This model is based on the Javascript page object model, but without the Javascript method definitions.
Using the default object model, all elements of HTML and XML documents can be addressed in the following ways:
BY NAME - if the target element has a non-empty name attribute. For example, the value of an HTML element <a name="foo"> can be referenced:
BY ABSOLUTE INDEXING - where each array of elements has a zero-based integer index, i.e.:
BY RELATIVE INDEXING - which directs the binding algorithm to search the VALUE attributes of each element in the array, until a match is found. The match must be complete, which requires the use of wildcard metacharacters for partial string matches. Note that the search will return the first matching element, if any:
BY REGION INDEXING - which directs the binding algorithm to search only within a region of a document:
BY ATTRIBUTE MATCHING - which directs the binding algorithm to search an object's attributes until a match is found. Attribute matching is done with parenthesis instead of square brackets:
The following properties are available for all objects:
Attributes of HTML containers take precedence over properties, which have alternate accessors.
.text/.txt and .value/.val are equivalent except when a document element has an identically named attribute.
Putting WIDL to WorkWIDL files can be hand coded, or developed interactively with command line or graphical tools which provide aids for determining object references used in <VARIABLE/>, <CONDITION/>, and <REGION/> declarations.
Once a WIDL file has been created, its use depends upon the implementation of products that can process and understand WIDL services. A web integration platform based on WIDL needs to provide:
Generating Code
The primary purpose of WIDL is integration with corporate business applications. In much the same way that DCE or CORBA IDL is used to generate code fragments, or 'stubs', to be included in development projects, WIDL provides the necessary ingredients for generating Java, JavaScript, C/C++, and even Visual Basic client code.
webMethods has developed a suite of Web Automation products for the development and management of WIDL files, as well as the generation of client code from WIDL files. Client 'stubs', which we affectionately call "Weblets", present developers with local function calls, and encapsulate all the methods required to invoke a service that has been defined by a WIDL file.
Example 7 features a Java class generated from the package tracking WIDL presented in Example 1 above. This class demonstrates the loadDocument, invokeService and getVariable methods of the Context class that is part of the webMethods API for processing WIDL.
Example 7. (Generated Java class).
import watt.api.*; public class TrackPackage extends Object { public String TrackingNum; public String disposition; public String deliveredOn; public String deliveredTo; public TrackPackage(String TrackingNum) throws IOException, WattException, WattServiceException { String args[][] = { {"TrackingNum", TrackingNum}, {"DestCountry", DestCountry}, {"ShipDate", ShipDate} }; Context c = new Context(); c.loadDocument("Shipping.widl"); Result r = c.invokeService("FedexShipping", "TrackPackage", args); disposition = r.getVariable("disposition"); deliveredOn = r.getVariable("deliveredOn"); deliveredTo = r.getVariable("deliveredTo"); } }
After declaring the variables that will be used by the PackageTracking class, a handle 'c' to a new context of the webMethods web automation runtime is created. All API calls are then made against this handle.
loadDocument loads and parses the specified WIDL file, in this case "Shipping.widl". Loading the WIDL defines the services of the Shipping interface to the runtime. invokeService actually submits the input parameters to the "TrackPackage" service, which makes the appropriate HTTP request and returns either a result set which contains the bound output variables or an error message specified by a <CONDITION/> statement within the <SERVICE/> definition. getVariable is then used to extract the values of the output variables and to assign them to class variables.
Within the Java application, the package tracking service looks like a simple instantiation of the TrackPackage class:
In short, an application makes a call to a local function that has been generated by WIDL. The local function encapsulates the API calls to the WIDL processor. The WIDL processor:
Generated Java classes can be incorporated in standalone Java applications, Java Applets, JavaScript routines, or server-side Java 'Servlets'. Generated C/C++ encapsulating Web services can be deployed as DLL's, shared libraries, or standalone executables. webMethods implementation, the Web Automation Platform, provides Java classes, a shared library, a Windows DLL and an Active/X control to support Visual Basic modules which can be embedded in spreadsheets and other applications.
Web technology is strong on interactivity, but low on automation. The primary applications of the Web, including Push and Agent technologies, are almost exclusively focused on end users. Data that is being made available in HTML format is effectively inaccessible to business applications other than the Web browser.
On corporate intranets and extranets, the Web browser has enabled access to business systems, but has in many cases reinforced manual inefficiencies as data must be transcribed from browser windows into other application interfaces.
Electronic commerce on the Web is typically driven manually via a browser. In order to achieve Business-to-business integration organizations have resorted to proprietary protocols. The many-to-many nature of Web commerce demands a standard for automated integration.
Interactions normally performed manually in a browser, such as entering information into an HTML form, submitting the form, and retrieving HTML documents, can be automated by capturing details such as input parameters, service URLs, and data extraction methods for output parameters. Mechanisms for condition processing can also be provided to enable robust error handling.
The Web Interface Definition Language (WIDL) is an application of the eXtensible Markup Language (XML) which allows the resources of the World Wide Web to be described as functional interfaces that can be accessed by remote systems over standard Web protocols. WIDL transforms the Web into a standards-based integration platform, providing a practical and cost-effective infrastructure for business-to-business electronic commerce over Web
About the Author
Charles Allen is Vice President of Product Management at webMethods, Inc.
Appendix: WIDL DTD
<!ELEMENT WIDL ( SERVICE | BINDING )* > <!ATTLIST WIDL NAME CDATA #IMPLIED VERSION (1.0 | 2.0 | ...) "2.0" TEMPLATE CDATA #IMPLIED BASEURL CDATA #IMPLIED OBJMODEL (wmdom | ...) "wmdom" > <!ELEMENT SERVICE EMPTY> <!ATTLIST SERVICE NAME CDATA #REQUIRED URL CDATA #REQUIRED METHOD (Get | Post) "Get" INPUT CDATA #IMPLIED OUTPUT CDATA #IMPLIED AUTHUSER CDATA #IMPLIED AUTHPASS CDATA #IMPLIED TIMEOUT CDATA #IMPLIED RETRIES CDATA #IMPLIED > <!ELEMENT BINDING ( VARIABLE | CONDITION | REGION )* > <!ATTLIST BINDING NAME CDATA #REQUIRED TYPE (Input | Output) "Output" > <!ELEMENT VARIABLE EMPTY> <!ATTLIST VARIABLE NAME CDATA #REQUIRED FORMNAME CDATA #IMPLIED TYPE (String | String[] | String[][]) "String" USAGE (Default | Header | Internal) "Function" REFERENCE CDATA #IMPLIED VALUE CDATA #IMPLIED MASK CDATA #IMPLIED NULLOK #BOOLEAN > <!ELEMENT CONDITION EMPTY> <!ATTLIST CONDITION TYPE (Success | Failure | Retry) "Success" REF CDATA #REQUIRED MATCH CDATA #REQUIRED REBIND CDATA #IMPLIED SERVICE CDATA #IMPLIED REASONREF CDATA #IMPLIED REASONTEXT CDATA #IMPLIED WAIT CDATA #IMPLIED RETRIES CDATA #IMPLIED > <!ELEMENT REGION EMPTY> <!ATTLIST REGION NAME CDATA #REQUIRED START CDATA #REQUIRED END CDATA #REQUIRED >


text:
Xbox One Bundles Will Drop as Low as $299 for Black Friday; Xbox Live Gold Goes for $1 for New Subscribers
If you're on the market for a new Xbox One, or you're thinking to get one of those spiffy Forza 6 or Halo 5 limited edition consoles, next week is your best bet, as Microsoft is going to discount by $50 all of its twelve holiday bundles starting on the 26th and until the 30th in North America.
This means that some of the bundles will be priced as low as $299.
On top of that, if you still didn't make the jump to Xbox Live Gold, the house of Xbox will offer you the chance to upgrade for $1 for a month, for some ultra-cheap multiplayer before Christma.


text:
Postdoctoral Fellow - Senior Bioinformatician PDF Salary range: £30655 to £38428 per annum plus excellent benefits. Fixed-term until the end of 2018
Pneumococcal diseases are a huge burden on human health but are potentially preventable through vaccination. The Sanger Institute and partners at CDC and Emory University are funded by the Bill and Melinda Gates Foundation to perform a global genomics study to learn about the effect that anti-pneumococcal vaccines have on evolution of Streptococcus pneumoniae, the pathogen that they are designed to combat. Over 20,000 S. pneumoniae genomes are being sequenced representing bacteria from countries across the world, before and after introduction of anti-pneumococcal vaccines. Further information about the project is available athttp://www.pneumogen.net
We wish to recruit a postdoctoral bioinformatician to help drive the analysis of this important data set. They will work as part of a multi-disciplinary team and be responsible for handling the analysis or large genomic data sets to deliver key insights. They will be involved end-to-end requiring interactions with members of the international project partner group and members of other teams within the Sanger Institute. They will work with other team members to interpret findings and will be responsible for translation into scientific publications.
The ideal applicant will have a PhD in microbiology, microbial bioinformatics, or a related discipline, with demonstrated expertise in the analysis of bacterial genomes and handing very large data sets. Experience with at least one scripting language would be an advantage. They will join a lively group that combines the expertise of microbiologists, phylogeneticists, bioinformaticians and programmers.
For any questions about the position, please contact Stephen Bentley (email@example.com)
Essential Skills • PhD in microbiology, microbial bioinformatics, or a related discipline • Demonstrated expertise in the analysis of bacterial genomes and handing very large data sets • Proven track record of publishing high impact papers in reviewed journals • Excellent communication skills, ability to interact with a cross section of people and develop and maintain good working relationships • Keen to learn and share scientific ideas • Experience of undertaking research work within large multidisciplinary teams • Attention to detail • Excellent problem solving
Ideal Skills • Experience with at least one programming or scripting language • Experience of working at Containment Level 2
Other information Postdoctoral Fellows are typically in their first or second postdoctoral position as part of a period of early career research training.
The Sanger Institute is a charitably funded research centre focused on understanding the role of genetics in health and disease. We use state of the art large-scale genomic approaches to drive world-leading projects to uncover the basis of genetic and infectious disease. Our goal is to provide results that can be translated into diagnostics, treatments or therapies that reduce global health burdens.
The Institute is located near Cambridge, UK on the stunning Wellcome Trust Genome Campus. This growing and dynamic site is the British hub of genomic science. It hosts the European Bioinformatics Institute (EBI), the Centre for Therapeutic Target Validation, a Biodata Innovation Centre and will soon host Genomics England Limited's 100,000 Genomes Sequencing Centre. It is an excellent environment in which to work and collaborate with researchers on campus and around the world and benefit from cross-fertilisation of ideas.
To help researchers to develop their skills and networks, the Institute hosts a range of scientific seminars with internal and invited speakers, scientific group meetings and skills development workshops. In addition the Campus is home to the Wellcome Trust Advanced Course and Scientific Conferences programme and the Wellcome Trust Conference Centre.
Our Benefits include: Defined Benefit Pension Scheme, Group Income Protection, Healthcare scheme, Childcare Vouchers, Nursery and 25 days Annual Leave plus Bank Holidays. We also have a gym, two cafes, a nursery, dining facilities, and a free campus bus service. Our thriving Sports and Social Club provides many opportunities to meet with people working across the campus.
WTSI welcomes applications from all candidates irrespective of age, disability, gender, gender identity, sexual orientation, race, religion or belief, or marital or civil partnership status.
Please include a covering letter and CV with your application.
Closing date for applications: 12th May 2016
Application link: https://jobs.sanger.ac.uk/wd/plsql/wd_portal.show_job?p_web_site_id=1764&p_web_page_id=258523


text:
Business Directory
Public, Social & Care Services
Westmorland Homecare
18 Highgate, Kendal, LA9 4SX
We founded Westmorland Homecare on traditional values and are passionate about providing the highest quality care. Our mission is to change the lives of people in our community, both clients and staff, by creating something really special. Our services extends across the whole of the South Lakes; Kendal, Windermere, Staveley, Ambleside, Grasmere, Milnthorpe, Grange over […]
Studio 31 (Unit 31) The Factory, Castle Mills, Aynam Road, Kendal, LA9 7DE
Space2Create use creative activity to support vulnerable adults recovering from mental or physical health problems. We run fun, sociable and mutually supportive creative sessions designed to build self esteem, self confidence, reduce isolation, build resilience and improve wellbeing.
Energy Save Solutions Ltd
Yard 77, Highgate, Kendal, LA9 7ED
Reducing Domestic and Commercial Heating Energy Optimisation.
Stricklandgate House Trust
92 Stricklandgate, Kendal, LA9 4PU
Conference and Meeting Rooms for hire at very competitive rates. Counselling Room hire. Affordable serviced office accommodation for charities and not-for-profit organisations.
Healthcare Nationwide Ltd
Station Road, Kendal, LA9 6BT
Nursing and Domiciliary Care Agency. Home care, live in care, complex care, spinal injury care, home respite, home palliative care assistants, support workers, general nurses.
South Lakeland District Council
South Lakeland House, Lowther Street, Kendal, LA9 4UF
South Lakeland encompasses two of England's best known National Parks – the Lake District and the Yorkshire Dales. Over the years these magnificent mountains and beautiful lakes have inspired many famous writers and artists like William Wordsworth, John Ruskin and Beatrix Potter. Today we have much more to offer from world-class attractions and events to […]
Key First Aid Training
Unit H, 59 Stramongate, Kendal, LA9 6BH
We offer all aspects of business and private First Aid Training Courses. Based in Kendal we also offer a free consultation to you and your business as to your First Aid needs.
Kendal and South Lakes Centre for Independent Living "One Voice"
Car Park Level 3, Westmorland Shopping Centre, Kendal, LA9 4LR
We are a charity offering various services for people with any form of physical disability. We offer advice on benefits and grants, peer support, advocacy, advice on diet and healthy living, hire of scooters and wheelchairs and other disability living aids and we sell small disability living aids.
Cumbria Chamber of Commerce & Industry
48a Branthwaite Brow, Kendal, LA9 4TX
Business support networking events commercial services and business representation.
First Aid in Cumbria
Unit 6 Lake District Business Park, Mint Bridge Road, Kendal, LA9 6NH
We are a Kendal based company that delivers HSE approved First Aid training at our premises in Kendal or at your business. We can deliver bespoke training to suit your business needs and staff rotas. Our trainer Clive is a Degree level RMN with over 30 years of experience in the Healthcare field. We can […]
Kendal Wills Ltd
6 Lound Road, Kendal, LA9 7DT
Quality will writing service offering meetings at your home or at our office in Kendal. Services also include Lasting Powers of Attorney and funeral plans. Institute of Professional Will Writers member.
Thermopatch from Kannegiesser UK
Kannegiesser UK Thermopatch, Mintsfeet Road, Kendal, LA9 6DE
Thermopatch from Kannegiesser UK is the U.K. and Ireland distributor for the Thermopatch range of labelling and marking products as used by laundries, hospitals, care homes, workwear and leisurewear manufacturers; any environment in fact where linen and garment identification is required.


text:
"It's time to take the guesswork and headache out of hiring for your small business!
You need the *right* help NOW, so that you can focus on growing your business and doing the stuff you enjoy (and stop working 24/7 doing the "little" things)
I've been there too...
You want help in your business - you have a list of to-dos a mile long that you would LOVE to give to someone else to take care of. Not to mention the things that you know need to be done but have NO idea how to do yourself (nor do you have the time or desire to figure out how!)
But where do you start? How do you go about hiring the help you need?
If you are like many of the business owners I talk to you may find yourself stuck and frustrated:
- You are not hiring at all because you have no idea who you need to hire, let alone where to find them and what to give to them (and so you suffer through, working long hours trying to do everything on your own)
- You have tried hiring someone but found that it wasn't a match (and it actually ended up creating more work for you in the end!)
- You hired someone and it's going OK... but something feels off and you wonder what you are missing (and are starting to question if it's even worth it?)
The bottom line is this - if you truly want to make a difference with your business you can't do everything on your own (nor do you want to right?) So as frustrating as it may feel, hiring is a priority and you deserve to get the best help possible for you and your business!
Hiring can actually be surprisingly simple (even enjoyable) when you know how
I've been working online since 1999, and in that time I've been:
The virtual support professional, having worked as an Online Business Manager for various 6 and 7-figure businesses from 1999 to 2009.
The business owner, after shifting my business model in 2010 I had to learn (quickly!) how to hire a team to support my fast growing 6-figure business
The matchmaker, having helped hundreds of business owners to find and hire the virtual support they need.
Put simply, I've "been around the block" when it comes to hiring. My experience has given me the unique perspective of being able to see both sides of the coin and I can tell you unequivocally that...
It IS possible to hire an amazing team!
There are some amazingly dedicated, talented and enthusiastic virtual support professionals out there who are chomping at the bit to work with someone like you.
I know the virtual support industry very well. Not only have I worked side-by-side with an array of support professionals over the years, I've also been training them since 2005 in various programs, including our Certified Online Business Manager training.
There are great people out there, but you need to know how to find, hire and work with the *right* ones for you and your business.
Crossing your fingers and hoping that the right person will show up is not enough (I've tried it and it doesn't work 😉 )
You Need a Reliable Hiring System that Ensures You Hire the Right Person Every Time!
Unfortunately you don't have an HR department to take care of this stuff for you, so the responsibility falls on your plate. And if you aren't sure how to find the help you need you may default to throwing spaghetti at the wall and hoping that someone - and some process - will stick!
When you are so afraid of hiring – afraid of not finding the right person, afraid of hiring the wrong person, afraid of wasting a bunch of money and then having to hire all over again – you may jump at the first person that pops up and say, "Thank goodness! I'll just hire this person then I don't have to deal with this anymore."
When you hire from a place of wanting relief, being afraid of making a wrong decision and feeling uncertain about what you really need, it's inevitable that things will fall apart.
When you have an effective hiring process in place - a system designed to support your long-term goals as a business owner - you can easily:
- Find and hire the right virtual support professionals for your team (and put down the spaghetti).
- Create strong, healthy working relationships that add to - not take away from - your entrepreneurial energy!
This is why I created the Best Team Ever Intensive
I designed the Best Team Ever Intensive to streamline the process of finding, selecting and working with best-fit support professionals for your business.
Instead of reinventing the wheel or stressing yourself out every time you need new help, you can use this proven system for hiring to support YOUR success. (And stop having to hire - and fire - so often too!).
The Best Team Ever System is Easy to Use and Will Work Again and Again Anytime You Need to Hire.
There are 3 Stages to building the Best Team Ever
Creating your Custom Org Chart
Many hiring mistakes happen when you aren't clear on who you need to hire! Successful hiring starts with knowing EXACTLY who you need on your team and what the role they are going to play in support of a growing business. In this step I'm going to share with you what you need at each of the 3 stages of business growth and work with you to create your customized org chart. You are also going to determine the right team budget for your needs and the measures of success for each person.
Attracting the Right People
Once you are clear on who you need and what they will be doing, the next step is to find the right person for the role! We start with crafting a posting that will attract the right people and have them excited to apply. I will then teach you my unique 'interviewing' process that gives you the tools & questions to successfully navigate the conversation and determine the best fit.
Getting Started on the Right Foot
Once you find the right person you want to make sure you have a smooth & successful start to your working relationship! I am going to teach you my proven intake process so that you can powerfully lead your team right from the start, and empower them to do their best work.
Of course, knowing HOW to hire isn't the only issue. You also want to know WHERE to find people, right?
I totally get it, and it's been a pet peeve of mine for years now. I've had to point clients and colleagues in ten different directions to find the people they need.
So, when you register for the Best Team Ever Intensive you also get access to…
The Virtual Biz Connect Directory
A "One Stop" Resource for Finding and Connecting With
All Kinds of Quality, Virtual Support Professionals
From virtual assistants to graphic designers, copywriters to bookkeepers, online business managers to social media experts - everyone is under one virtual roof.
With over 400 virtual support professionals already on board (and growing every day), you will get a 'back door pass' to search through the database for what you need based on skills, experience and expertise.
PLUS we will send your job posting to our support community, so that the right candidates can come to you (vs. you having to search for them.) <-- This is something we only offer to people in this program.
This workshop was exactly what I needed! I had made several hiring mistakes recently, and felt demoralized, indecisive, and unable to move forward with hiring – I didn't even know what role I needed to hire. Tina gave me perfect pointers on how to gauge my true needs, and who to hire first. She even told me the "secret" question to ask so that I could discern who would be a good fit. Now I feel much more confident in hiring, and I have a solid plan. I highly recommend Tina's guidance.Elma Mayer, NowHealing.com
Before doing the Intensive I was thinking about hiring an assistant, my first major hire as a solopreneur. I was overburdened with all the administrative details of running my business, and also worried about a big launch that I have coming up. In the past I'd always managed the launches by myself, but this time around I didn't have the energy to do that! Plus -- my family scheduled a big 3-week vacation to Thailand right before the launch (argh!), and so I was desperate to hire someone who I'd trust to run the biz AND do the marketing necessary for the launch, while I'm gone.Gretchen Wegner, M.Ed., Anti-BoringApproach to Powerful Studying™
After the Intensive I felt more confident about the kind of person I needed to hire, the budget I have available, and how to be a better manager of this person. Because the Intensive is set up as a working virtual retreat, I was able to get a lot of the work done during the two days I was with Tina! This was a game changer, because it allowed me to hit the ground running with my hiring process.
I wrote a kick ass job description that attracted over 40 applicants, and I'm now two weeks into working with my new hire. So far I LOVE this new assistant/biz manager. Thanks to the personality profiling that Tina suggest I do, I know that she and I are a good personality match -- plus she's got such a complementary set of skills. Already I've been blown away by how GREAT it feels to have a solid, trustworthy, knowledgeable, proactive team member by my side, and I can't wait to get revved up for the launch.
If you know you need to hire someone in your biz, but you're not sure how to do it (or even if you THINK you know how to hire, but you've been procrastinating doing it), run (don't walk) to Tina's course. You'll be so glad you did.
Tina is a gift to any leader, business owner or team ---- a true master at helping you ease into next level thinking without you even realizing all the hard work you just plowed through until it's already done. The Best Team Ever Intensive was no exception!Marilyn & Jess, The Bottom Line CPA
After two focused days, we walked away with clarity on the team we needed today and THREE years from today. The only thing we had to do next? Find our next hire. And, oh yeah, had the outline for that plan too! Tina is our team's not-so-secret weapon.... if we have our say!
Here's specifically what we will cover in this program
- The two key people that EVERY business owner needs to have on their team (at the very least)
- What to outsource vs. what to keep for yourself <-- What is YOUR role?
- The 3 stages of business growth and who you need to hire at each stage (including organizational charts)
- What attributes to look for in hiring a virtual support professional (This alone could make or break the success of your team!)
- Exactly who you need to hire for your various revenue streams
- Setting expectations to successfully work with virtual support professionals
- Ensuring that you have measures of success in place
- How to create an attractive 'job description' that will appeal to quality support professionals
- The best places to find people (including the new Virtual Biz Connect Directory!)
- How to short-list and interview your top candidates
- Selecting the best person for the business AND for you
- Compensation options and negotiating rates
- How to hire project based professionals vs. committed team members
- Why delegation doesn't work (and what to do instead)
- Setting up a strong communication plan with your team members
- The 'inner game' of learning to trust and let go (which is a challenge for many of us!)
This program is ideal for you if...
- You are making your first hire and want to do it right from the start
- You haven't had any luck hiring in the past and are afraid you will never find the right fit!
- You have a team right now but it's not working and you want to fix it
Put Simply, When Your Dreams Are Bigger Than What You Can Accomplish Alone, It's Time...
A 2-Day LIVE Virtual Retreat
The Best Team Ever Intensive is NOT a training where you sit back, listen (or maybe multitask?) and then intend to do the work but never get to it. <-- Yes, I've been there too.
It is a WORKING retreat - meaning I will give you specific steps and the time to work on them throughout our time together. Plus there will be time to ask me direct questions and get feedback throughout the day.
At the end of our day together you will have:
- Your own custom org chart outlining exactly who you need to hire (and when!) for your next stage of growth.
- Clarity on your team budget so you know what you can afford to pay and keep your finances healthy
- Specific measures of success (aka 'role description') for each person on the team
- An attractive job posting that we will personally send out to our network of professional virtual support professionals
- BONUS: My step by step hiring and interviewing process to follow so that you are able to easily find and identify the right fit for your needs.
Ready to get on the wait list for our next virtual intensive? Let's Talk!
If you are interested in hopping on the wait list for our next virtual intensive, your next step is to book a conversation to discuss further details about the program (including price) and to determine if this is a fit for what you need at this time.
Click the link below to answer a few quick questions about your business and to book a call with a Team Forsyth Associate.
My 'Swear On My Laptop' Promise to You…
As a service provider who has been around the block awhile, you'll want to know that my goal is your absolute satisfaction. Put simply, if you aren't happy then I'm not happy.
You have up until the end of our first day together (Day 1 of the Intensive) and if you discover it is not for you… let me know and I'll cheerfully refund whatever portion (or full amount) you've paid.
"Tina's program was exceptional at helping me to think through who to hire and how set the tone for the relationship. Empowering others to do work for you is no easy thing for most entrepreneurs. I have used the skills I learned from Tina to create a team for each stage of my business as it's grown from one VA to a nearly 7-figure business over the years. I am a believer in hiring for where you are going and I would have never embraced that without Tina's guidance!"Darla LeDoux, www.AlignedEntrepreneurs.com
"One of the most surprising challenges I encountered when making the leap from the corporate world to the entrepreneurial world was how difficult it was for me to find, hire, and manage the right team for my business. After taking Tina's insightful training I realized the problem was... me! I was hiring and managing based on an outdated "employer / employee" notion. Tina's program catapulted my thinking into the brave new world of virtual businesses and virtual teams - giving me concrete steps, tools, and tactics to use to find and retain the kind of team members you feel blessed to get out of bed each morning to work with.Manisha Thakor, www.MoneyZen.com
If you are an entrepreneur working with virtual team members, taking this course is one of the best investments you can make in your business. As an added bonus, Tina's delightful upbeat, no-nonsense attitude makes her a sheer delight to learn from!"
"Tina tackling the mission critical job of helping online entrepreneurs find their 'just right' virtual team is going to have long-term, far-reaching and direct impact on who will reach 6 and 7 figures. As a seasoned business coach, this is something my clients must get right or struggle every step of the way. With Tina's help, they need struggle no longer, and I am grateful extremely grateful.Andrea J. Lee
Tina has a unique 3-pronged perspective that not many can claim.
(1) She worked as a virtual support professional for years (was my OBM for many years in fact)
(2) She's also been the business owner hiring her own team to bust the 6-figure barrier and
(3) She's supported business owners to build their team for nearly 10 years, using her innate talent to attract, recruit and match special people to special work.
I urge you to tap into Tina's carefully crafted approach to hiring, and prepare to thrive."
"Tina's mastery with our recruitment project was a Godsend! She made a confusing process simple, effortless and even fun. I was blown away at the depths to which Tina understands our industry and was able to help us find the PERFECT candidates. If you're looking to get the right help with hiring, whatever level you're at, Tina has to be your #1 choice!"Kendall SummerHawk, www.KendallSummerHawk.com
"Through conversations with Tina, together we determined that the role I needed filled most next was in truth a full-time Marketing Manager ... and not the second Online Business Manager I thought I needed and had been looking for as my next hire. Tina's mastery regarding Virtual Team Building, Onboarding, and Ongoing Team Leadership is unparalleled in the industry."David Neagle, www.DavidNeagle.com
Got Questions?
Email firstname.lastname@example.com with any questions or see the list of commonly asked questions below.
What if I can't attend the program live?
Due to the interactive nature of this retreat we do recommend that you attend live. (If you need to pop out for an hour or so that's OK – but you will need to catch up on any missed work that same day!) If you can't attend live I recommend attending a future Intensive OR reaching out to work with me personally. Email email@example.com to get put on the notification list for our next intensive.
I have a team already but there are problems, will this help?
If things feel messy and you aren't sure that you have the right people doing the right things then yes, the Intensive will help. Even if you have a team already, taking a 'fresh' look at everything by following this process will help you identify any gaps or explain some of the challenges you might be facing.


text:
Buoy & Pier Site Plans for TRPA and/or State Lands
- These are maps to accompany applications for a buoy or a pier permit from TRPA or California/Nevada State Lands.
- The maps depict the high and low water lines of Lake Tahoe and the subject property buoy and/or pier.
Deliverables include:
Deliverables go here
What's Next?
See an example of buoy & pier site plans.
Inquire about having a buoy & pier site plan completed.
Find a different type of survey.


text:
At Muru Leadership, we're passionate about creating positive systemic change in people.
From organisations and teams to individuals, we help leaders unlock their true human potential as they lead through times of uncertainty.
Today we face an unprecedented level of change, both at work and in the wider world.
As the pace and complexity of change increases, and pressure and expectations intensify, how can you lead more effectively?
Muru Leadership helps you:
- Let go of outdated definitions of what it means to be a leader.
- Create a new path for showing leadership.
- Build greater courage and conviction in your own leadership.
…and we do this through applying One Rule and 'The 3 Questions'™.
Read about 'The 3 Questions'™
Are you fulfilling your potential?
What we do
In the face of uncertainty, we help you to unlock true human potential across the following:
How do I unlock my own potential?
We help you create a stronger identity, purpose and practice for your leadership
- Leadership Programmes
- 1-2-1 Coaching
How do I unlock collective potential?
We help you create and lead a high performing human team
- Team Facilitation
- Team Coaching
How do I unlock future potential?
We help you shift mindsets, and design and lead human centred change
- Keynote Speaking
- Human Centred Consultancy