Microsoft Reporting Services in Action 1st Edition Teo Lachev
Microsoft Reporting Services in Action 1st Edition Teo Lachev
Microsoft Reporting Services in Action 1st Edition Teo Lachev
Microsoft Reporting Services in Action 1st Edition Teo Lachev
Microsoft Reporting Services in Action 1st Edition Teo Lachev
1.
Microsoft Reporting Servicesin Action 1st
Edition Teo Lachev pdf download
https://ebookgate.com/product/microsoft-reporting-services-in-
action-1st-edition-teo-lachev/
Get Instant Ebook Downloads – Browse at https://ebookgate.com
2.
Instant digital products(PDF, ePub, MOBI) available
Download now and explore formats that suit you...
Professional Microsoft SQL Server 2012 Reporting Services
1st Edition Paul Turley
https://ebookgate.com/product/professional-microsoft-sql-
server-2012-reporting-services-1st-edition-paul-turley/
ebookgate.com
SQL Server 2005 Reporting Services in Action 1 / Rev. ed
Edition Bret Updegraff
https://ebookgate.com/product/sql-server-2005-reporting-services-in-
action-1-rev-ed-edition-bret-updegraff/
ebookgate.com
Professional Microsoft SQL Server 2012 Reporting Services
1., Auflage Edition Bruckner
https://ebookgate.com/product/professional-microsoft-sql-
server-2012-reporting-services-1-auflage-edition-bruckner/
ebookgate.com
Professional SQL Server Reporting Services Paul Turley
https://ebookgate.com/product/professional-sql-server-reporting-
services-paul-turley/
ebookgate.com
3.
Solving Polynomial EquationSystems 1st Edition Teo Mora
https://ebookgate.com/product/solving-polynomial-equation-systems-1st-
edition-teo-mora/
ebookgate.com
Microsoft sql server 2008 integration services problem
design solution 1st ed Edition Erik Veerman
https://ebookgate.com/product/microsoft-sql-server-2008-integration-
services-problem-design-solution-1st-ed-edition-erik-veerman/
ebookgate.com
Microsoft SQL Server 2012 Analysis Services The BISM
Tabular Model 1st Edition Marco Russo
https://ebookgate.com/product/microsoft-sql-server-2012-analysis-
services-the-bism-tabular-model-1st-edition-marco-russo/
ebookgate.com
Professional Microsoft SQL Server 2012 Analysis Services
with MDX and DAX 1st Edition Sivakumar Harinath
https://ebookgate.com/product/professional-microsoft-sql-
server-2012-analysis-services-with-mdx-and-dax-1st-edition-sivakumar-
harinath/
ebookgate.com
Knight s 24 Hour Trainer Microsoft SQL Server 2008
Integration Services Volume 1 1st Edition Brian Knight
https://ebookgate.com/product/knight-s-24-hour-trainer-microsoft-sql-
server-2008-integration-services-volume-1-1st-edition-brian-knight/
ebookgate.com
5.
Teo Lachev
M AN N I N G
Microsoft
Reporting
Services
IN ACTION
To my beautifulwife, Elena,
and our lovely children, Maya and Martin,
for your sacrifices in making this book a reality
To my parents
for supporting my decisions to take the road less traveled
and for always being very proud of me
Licensed to Iain S Shigeoka <iash@manning.com>
ix
contents
foreword xix
preface xxi
acknowledgmentsxxiii
roadmap xxv
source code xxviii
author online xxxiii
about the title and cover xxxiv
1 Introducing Microsoft Reporting Services 1
1.1 What is RS? 2
Why do we need RS? 2 ✦ How is RS implemented? 4
RS and the Microsoft BI platform 5
1.2 RS at a glance 6
Authoring features 7 ✦ Management features 8
Delivery features 9 ✦ Extensibility features 9
Scalability features 10 ✦ Security features 10
Deployment features 11
1.3 RS architecture 11
The Report Server 13 ✦ The Report Server database 14
The Report Manager 15
1.4 Understanding Report Processing 17
Execution stage 18 ✦ Rendering stage 18
1.5 Delivering reports 20
On-demand delivery 20 ✦ Subscribed delivery 21
1.6 What is the report lifecycle? 22
1.7 RS in action 23
About the Adventure Works Reporter 23 ✦ Your first
report 24
1.8 Evaluating RS 33
Licensed to Iain S Shigeoka <iash@manning.com>
15.
x CONTENTS
1.9 Summary35
1.10 Resources 35
Part 1 Authoring reports 37
2 Report authoring basics 39
2.1 The report-authoring process: step by step 40
Analysis 41 ✦ Construction 42 ✦ Testing 42
Deployment 42
2.2 Authoring reports in VS.NET 43
Authoring reports with the Report Wizard 43 ✦ Authoring
reports with the Report Designer 44 ✦ Importing reports
from Microsoft Access 53
2.3 Creating reports programmatically 55
The AW Ad Hoc Reporter sample 56 ✦ Implementation
details 58
2.4 Creating reports with third-party tools 60
Cizer’s Quick Query 60 ✦ Hitachi’s RDL Generator 62
2.5 Summary 62
2.6 Resources 62
3 Working with data 63
3.1 Working with data sources 63
Connecting to the database 64 ✦ Choosing an authentication
mechanism 69 ✦ Deploying data sources 77
3.2 Working with report datasets 77
Understanding the dataset definition 78 ✦ Creating a report
dataset 79 ✦ Using multiple datasets 83
3.3 Authoring dataset queries 84
Using the Graphical Query Designer 84 ✦ Using the Generic
Query Designer 86
3.4 Parameter-driven reports 89
The role of parameters 89 ✦ Building parameter-driven
queries 90 ✦ Setting up the report-level parameters 92
Working with stored procedures 95
3.5 Data limitations 100
Data source limitations 100 ✦ Parameter limitations 101
3.6 Summary 101
3.7 Resources 101
Licensed to Iain S Shigeoka <iash@manning.com>
16.
CONTENTS xi
4 Designingreports 102
4.1 Anatomy of a report 103
Getting started with a new report 104 ✦ Understanding report
sections 104 ✦ Understanding report items 105
Understanding data regions 107
4.2 Designing tabular reports 109
Parameterized tabular reports 113 ✦ Tabular reports with
interactive features 117 ✦ Table region limitations 119
4.3 Designing freeform reports 119
Freeform reports with nested regions 119 ✦ Grouping freeform
data 121 ✦ Freeform reports with side-by-side data
regions 123
4.4 Designing Chart Reports 124
The chart data region 124 ✦ Working with charts 126
Nesting chart regions 127
4.5 Designing crosstab reports 129
Matrix region advantages 129 ✦ Working with the matrix
region 130 ✦ Adjusting the report layout 134
4.6 Designing Subreports 135
Laying out the report 136 ✦ Synchronizing the subreport with
the master report 137
4.7 Designing multicolumn reports 138
Setting up multiple columns 139 ✦ Testing multicolumn
reports 139
4.8 Summary 140
4.9 Resources 141
5 Using expressions and functions 142
5.1 Understanding expressions 143
Using the Expression Editor 143 ✦ Expression syntax 145
Determining expression execution order 145 ✦ Understanding
expression scope 146 ✦ Dealing with expression errors 147
5.2 Exploring the Report Object Model 148
Using the ReportItems collection 151 ✦ Using the Fields
collection 155 ✦ Using the Parameters collection 157
Using the Globals collection 159 ✦ Using the User
collection 159
5.3 Working with functions 160
Referencing external functions 160 ✦ Using aggregate
functions 161 ✦ Using other internal functions 165
Licensed to Iain S Shigeoka <iash@manning.com>
17.
xii CONTENTS
5.4 Designingreports with navigational features 167
Reports with hyperlinks 168 ✦ Reports with document
maps 170
5.5 Report rendering considerations 173
Exporting reports to HTML 173 ✦ Exporting reports to
MHTML 174 ✦ Exporting reports to HTML with Office Web
Components 174 ✦ Exporting reports to other formats 176
5.6 Designing localized reports 177
Report localization basics 177 ✦ Localization techniques 179
5.7 Summary 181
5.8 Resources 182
6 Using custom code 183
6.1 Understanding custom code 184
Using embedded code 184 ✦ Using external
assemblies 187
6.2 Custom code in action: implementing report forecasting 191
Forecasting with OpenForecast 192 ✦ Implementing report
forecasting features 192
6.3 Using XML-based reports 204
Understanding XML exporting 205 ✦ Exposing the report
content as an RSS feed 205
6.4 Summary 210
6.5 Resources 211
Part 2 Managing reports 213
7 Managing the Reporting Services environment 215
7.1 Managing RS with the Report Manager 216
How the Report Manager works 216 ✦ Managing Report Server
settings 219 ✦ Managing content 223 ✦ Managing report
execution 230 ✦ Managing linked reports 240
7.2 Managing RS with the Web service 242
Understanding the Web service management API 242
Tracing calls to the SOAP API 242 ✦ Deploying reports
programmatically 245 ✦ Batching methods together 249
7.3 Managing RS with the WMI provider 249
Understanding the WMI provider 250 ✦ Implementing an RS
management console 251
Licensed to Iain S Shigeoka <iash@manning.com>
18.
CONTENTS xiii
7.4 Otherways to manage Reporting Services 253
Managing RS with the script host 253 ✦ Using other
management utilities 254
7.5 Analyzing report execution 255
Analyzing the Report Server execution log 255 ✦ Analyzing
trace log files 257
7.6 Summary 259
7.7 Resources 259
8 Securing Reporting Services 260
8.1 Exploring Reporting Services role-based security 261
How Windows authentication works 262 ✦ Using role-based
authorization 266 ✦ Managing role-based security with the
Report Manager 272 ✦ Managing role-based security with the
Web service 277
8.2 Understanding code access security 281
Defining code access terminology 281 ✦ Exploring the RS
default security policy 285 ✦ Managing RS code access
security 286
8.3 Best practices for securing reports 290
Filtering data 291 ✦ Using dynamic dataset queries 292
Implementing custom security models 294 ✦ Enforcing a
secured connection to the Report Server 294
8.4 Summary 295
8.5 Resources 295
Part 3 Delivering reports 297
9 On-demand report delivery 299
9.1 How RS provides on-demand report delivery 300
9.2 URL-based report access 301
Understanding URL syntax 302 ✦ Requesting resources
by URL 303 ✦ Requesting reports by URL 305 ✦ Working
with report commands 306 ✦ Working with the HTML
Viewer 309 ✦ URL access in action 312
9.3 Web service-based report access 317
Requesting reports with SOAP 318 ✦ Rendering images 321
Handing report sessions 324 ✦ Automating the report
generation process 327
Licensed to Iain S Shigeoka <iash@manning.com>
19.
xiv CONTENTS
9.4 EvaluatingURL and Web service access options 331
Evaluating URL access 332 ✦ Evaluating Web service
access 334 ✦ Choosing an integration approach 334
9.5 Summary 335
9.6 Resources 336
10 Reporting for Windows Forms applications 337
10.1 Rich client wanted 338
Report-enabling rich clients 338 ✦ Using the Client-to-Report
Server model 339 ✦ Using the Client-to-Façade-to-Report
Server model 341
10.2 Introducing the Adventure Works Report Wizard 342
Designing the Report Wizard 343 ✦ The Report Wizard step-
by-step 344
10.3 Behind the scenes of the Adventure Works Report Wizard 348
Implementing the application framework 349 ✦ Selecting
reports 354 ✦ Dealing with snapshot reports 359
Handling report parameters 359 ✦ Specifying the export
format 368 ✦ Confirming the report request 368
10.4 Enhancing application performance 370
Using in-memory caching 371 ✦ Using multithreading 372
10.5 Summary 375
10.6 Resources 376
11 Reporting for web-based applications 377
11.1 Understanding web reporting 378
Reporting for intranet applications 378 ✦ Reporting for
Internet applications 379 ✦ Reporting for extranet
applications 382 ✦ Introducing the Adventure Works Web
Reporter 383
11.2 Client-side reporting techniques 384
Requesting reports from hyperlinks 384 ✦ Creating write-back
reports 388 ✦ Using HTTP-POST 390 ✦ Calling the RS
Web service on the client side 392
11.3 Server-side reporting techniques 395
Using the ReportViewer control 396 ✦ Using the Adventure
Works ReportViewer control 399 ✦ Reporting off application
datasets 407 ✦ Business-to-consumer reporting 409
Business-to-business reporting 412
11.4 Summary 414
11.5 Resources 415
Licensed to Iain S Shigeoka <iash@manning.com>
20.
CONTENTS xv
12 Reportingfor OLAP applications 416
12.1 Understanding OLAP 417
OLTP vs. OLAP 417 ✦ How Reporting Services and Analysis
Services compare 418 ✦ Understanding the OLAP storage
model 419 ✦ Designing OLAP solutions 422
12.2 Implementing an OLAP solution: AW Data Miner 424
Implementing the data warehouse 426 ✦ Implementing the
OLAP cube 427 ✦ Authoring OLAP-based reports
with RS 440 ✦ Implementing AW Data Miner 443
12.3 Summary 453
12.4 Resources 454
13 Enterprise reporting 456
13.1 Understanding enterprise reporting 457
Evaluating enterprise reporting 457 ✦ Introducing the
Adventure Works Enterprise Reporter 458
13.2 Behind the scenes of the Adventure Works Enterprise Reporter 461
Implementing the Report Configuration Store 462
Implementing the presentation layer 463 ✦ Implementing the
Enterprise Reporting Façade 466 ✦ Designing for
scalability 470
13.3 Implementing custom application authorization 472
Understanding the Windows Authorization Manager 472
Securing the AW Enterprise Reporter 478
13.4 Summary 481
13.5 Resources 481
14 Subscribed report delivery 483
14.1 Understanding subscribed report delivery 484
Subscription-based reporting scenarios 484 ✦ The subscriber-
publisher design pattern 484 ✦ How the Reporting Services
subscription-based model works 485
14.2 Configuring subscribed report delivery 488
Creating a new subscription 489 ✦ Choosing the subscription
type 490 ✦ Configuring delivery extensions 493
Managing subscriptions 495
14.3 Subscribed report delivery in action 497
“Pushing” reports via standard e-mail subscriptions 497
Archiving reports to a file share 499 ✦ Sending reports to a data-
driven list of recipients 503 ✦ Triggering subscriptions
programmatically 509
Licensed to Iain S Shigeoka <iash@manning.com>
21.
xvi CONTENTS
14.4 Summary513
14.5 Resources 513
Part 4 Advanced reporting 515
15 Extending Reporting Services 517
15.1 Understanding Reporting Services extensibility 518
Understanding interface-based programming 518 ✦ Working
with interface inheritance 519
15.2 Reporting off ADO.NET datasets with a custom dataset data
extension 523
Design goals and tradeoffs 525 ✦ Authoring dataset-bound
reports 526 ✦ Implementing the custom dataset
extension 533 ✦ Debugging dataset extensions 537
15.3 Distributing reports to Web services using custom delivery extensions 537
Design goals and tradeoffs 538 ✦ Using the custom delivery
extension 539 ✦ Implementing the custom delivery
extension 540 ✦ Debugging custom delivery extensions 544
15.4 Implementing custom security 546
Design goals and tradeoffs 549 ✦ Intranet reporting with
custom security 550 ✦ Implementing the custom security
extension 553 ✦ Debugging the custom security
extension 560
15.5 Using custom HTTP modules 560
The HTTP module design goals and tradeoffs 561
Implementing the custom HTTP module 561
15.6 Considerations for custom rendering extensions 563
15.7 Summary 563
15.8 Resources 564
16 Performance and scalability 566
16.1 Understanding capacity planning 567
Capacity planning fundamentals 567 ✦ The capacity planning
process 572
16.2 Capacity planning with Reporting Services in action 577
Determining requirements 577 ✦ Setting up the testing
environment 580 ✦ Performance testing 584
Analyzing performance results 585 ✦ Identifying resource
constraints 587 ✦ Eliminating resource constraints 589
Licensed to Iain S Shigeoka <iash@manning.com>
22.
CONTENTS xvii
16.3 Summary592
16.4 Resources 593
appendix Installing Reporting Services 594
A.1 Choosing components to install 595
A.2 Selecting the service account 596
A.3 Specifying RS virtual folders 597
A.4 Configuring the Report Server database 599
A.5 Configuring Reporting Services for e-mail delivery 600
A.6 Setting up the RS samples 601
A.7 Configuring RS licensing mode 601
A.8 Post-installation steps 603
Installing RS sample reports 603 ✦ Backing up the
encryption key 604
A.9 Resources 604
index 605
Licensed to Iain S Shigeoka <iash@manning.com>
xix
foreword
Let me letyou in on a little secret: creating software at Microsoft is pretty similar to
creating software at any other company. I think many people’s perception is that
Microsoft designs products by having an army of market researchers carefully exam-
ining competitive products and surveying consumers to determine exactly what fea-
tures to put in the next release.
The reality is that most of the ideas that go into Microsoft products are the result
of small teams of people brainstorming in front of whiteboards or chatting in hall-
ways. I’m not saying we don’t know what competitors are doing or what customers
are asking for, but the process of translating real-world scenarios to requirements and
designs is much more organic than you might think. This flexible approach allows
teams to take a fresh look at existing problems as well as adapt to industry trends and
customer demands.
Case in point: when we started building Reporting Services, we didn’t set out to
copy what other companies had already done. Instead, we asked questions like “What
does it mean to build an enterprise reporting product?” “How do we enable people to
create powerful data visualizations without writing code?” and, most important of all,
“How can we build a platform that people can leverage in their own applications?” The
answer to this final question ended up driving a major part of the product’s design.
Building a platform is not something to be taken lightly. It requires that you spend
extra time factoring and documenting the interfaces between software components. It
means that your components should not use any “back doors” that are not available
to other developers using the platform. It also can change the order in which you build
the product—you have to focus on the nonvisual parts of the product before you work
on the user-facing ones. For example, the Reporting Services report processing engine
was up and running about a year before the graphical report design tool was ready.
During this time, report definition files had to be hand-coded in order to test any new
report processing features.
The decision to build a platform also means that you will have to spend time on
infrastructure and interfaces at the expense of end-user features. We knew that this
trade-off would mean the first version of Reporting Services might look less feature-rich
than other more “mature” reporting products. We felt like this was the right long-term
Licensed to Iain S Shigeoka <iash@manning.com>
25.
xx FOREWORD
strategy, asa strong platform would enable others to fill the gaps instead of having to
wait for us to add every feature. When asked about this approach, I sometimes pose
the question, “Is it better to build a car with a powerful engine and fewer lights on the
dashboard or one with lots of lights that can’t go anywhere?”
One decision we made for our new platform was to bet on another new platform:
.NET. As we had no legacy code to support, we decided early on to make Reporting
Services a 100 percent .NET application. While this may seem like a no-brainer today,
when we started building Reporting Services the CLR and the .NET Framework had
not yet been released. Although building an enterprise-quality server product on such
a new technology stack was a little risky at the time, the decision has paid major div-
idends in developer productivity and product quality.
Ultimately, the barometer of whether we have succeeded is what our customers and
partners are able to build on the platform. Since we released the first version of the
product earlier this year, I have seen applications built by customers leveraging the
Reporting Services platform in ways I never imagined. But a platform isn’t useful if
all developers don’t have the know-how to take advantage of it. Because the product
is so new, detailed information and good examples have been sparse and hard to find.
That’s where resources like Teo’s excellent book come in. This book starts by pro-
viding a solid foundation for using the built-in tools included with Reporting Services
but quickly takes you to the next level by focusing on the programmability and exten-
sibility aspects of the product. The focus on these parts of Reporting Services will help
you leverage and extend the product feature set in your own applications. Teo’s
approach is to provide real-world examples and useful scenarios that walk you through
the details and give you new ideas to explore. Teo has the ability to take complex topics
and break them into smaller sections that can be easily understood. I enjoyed being
one of the book’s technical reviewers as I was able see how various parts of the product
came to life on the page. I encourage you to use the ideas in this book and take Report-
ing Services to the next level.
BRIAN WELCKER
Group Program Manager
Microsoft SQL Server Reporting Services
Licensed to Iain S Shigeoka <iash@manning.com>
26.
xxi
preface
In archeology, theRosetta stone was the key that solved the mysteries of Egyptian
hieroglyphics. I believe that with the release of Microsoft SQL Server 2000 Reporting
Services, code-named Rosetta, Microsoft gives organizations the key they need to
unlock the secrets of enterprise data and unleash the power hidden within.
Looking retrospectively, Microsoft’s reporting strategy has been confusing, at least
for me. Microsoft Access debuted in the early 90s with a powerful report designer that
made desktop reporting child’s play.
Enterprise developers, however, have not been that lucky. The lack of comprehen-
sive native reporting capabilities continues even today in the .NET framework. True,
some progress has been made with the advent of print-related controls, such as Print-
Document, PrintPreviewControl, and so on, but still, dealing with the GDI+ (Graph-
ics Device Interface) API is usually the last thing a developer wants to tackle when
creating the next line-of-business application. For reasons such as these, report-
enabling Microsoft-centric solutions has been traditionally regarded as a tedious chore.
To address this problem, many of us defected to third-party tools. Others chose to
fill the void with homegrown, customized solutions. While these solutions address par-
ticular needs, they can also be costly, time-consuming, and difficult to implement.
I remember with nostalgia a project that I worked on about five years ago. It called
for developing a reporting solution for a major Fortune 100 company. I implemented
the solution as a server-based framework, following a design pattern similar to the one
discussed in chapter 13. I used Microsoft Access as a reporting tool to generate reports
and save them as snapshot files. Once the report was ready, the Report Server would
e-mail it back to the user or send the user a link to the snapshot file.
Implementing this solution was a lot of fun, but it took a significant development
effort. I wouldn’t have had to do all of this if I had had Reporting Services back then.
Instead of implementing a homegrown solution, I could have used RS to report-enable
the applications.
For this reason, I was very excited when I heard about Reporting Services in late
2003. Finally, there was an easy way to report-enable different types of applications.
Subsequently, I was involved in a project where I was able to confirm to myself that,
indeed, RS was the reporting platform I had been dreaming about for years.
Licensed to Iain S Shigeoka <iash@manning.com>
27.
xxii PREFACE
To sharemy enthusiasm I decided to write a book about Reporting Services. While
I contemplated what the book’s scope would be, it dawned on me that I could bring
the most value by following my heart and approaching Reporting Services from a
developer’s point of view. I put myself in a position that many developers could relate
to. Here I am, a developer, consultant, and architect, who is tasked with adding report-
ing features to a given application. How would I go about this?
To answer this question, my book takes a solution-oriented approach, and more
than half of it is devoted to integrating different types of applications with RS. As you
read this book, you will discover a common pattern. It starts by discussing the require-
ments and design goals of a given reporting scenario. Then it discusses the implemen-
tation choices, and finally it explains how the solution is implemented.
I firmly believe that a technical book should go beyond rehashing the product doc-
umentation. I tried my best to follow this path and take up where the RS documenta-
tion (which, by the way, is excellent) leaves off. For this reason, my book should be used
in conjunction with it. When you read the book, you will notice that sometimes, when
I believe I can’t explain things any better, I refer you to the product documentation.
Microsoft Reporting Services in Action is written for report authors, administrators, and
developers who need a detailed and practical guide to the functionality provided by RS.
In the first half, report authors will master the skills they need to create versatile reports.
Administrators will learn the ropes of managing and securing the report environment.
The second half of the book is primarily aimed at intermediate-to-advanced .NET
developers who are planning to leverage RS to add reporting capabilities to their Win-
dows Forms or web-based applications. However, because of the service-oriented
architecture of Reporting Services, the book will also benefit developers who target
other platforms but want to integrate their applications with RS.
Microsoft SQL Server 2000 Reporting Services is a great piece of technology. With
RS, report authors can create reports as easily as you would do it in Microsoft Access.
Make no mistake, though. RS is a sophisticated server-based platform, and its feature
set goes well beyond that of a desktop reporting tool. To use RS effectively, you need
to have a solid grasp of how it works and how it can be integrated with different types
of client applications. I hope this book makes this endeavor easier.
Licensed to Iain S Shigeoka <iash@manning.com>
28.
xxiii
acknowledgments
Writing this bookhas been a lot of fun and a lot of work. Although you see only my
name on the front cover, this book has been a team effort involving many people.
First and foremost, I would like to acknowledge my family for their kind support
in making this book a reality. My wife, Elena, contributed directly to the book by
helping me recover what was lost in the process of translation. To my family I owe my
greatest thanks.
Thanks to the Reporting Services team at Redmond for giving us this great product
and working hard to make it even more successful. You can judge by yourself Microsoft’s
commitment to customer satisfaction by looking at the number of messages answered by
Microsoft engineers on the RS discussion list (microsoft.public.sqlserver.reportingsvcs).
Brian Welcker, Microsoft Group Product Manager for SQL Server Business Intel-
ligence, has been phenomenal in helping me with my project on several fronts, includ-
ing reviewing the book and providing valuable technical feedback, as well as writing
the foreword.
Thanks go to several Microsoft engineers—Brian Hartman, Bryan Keller, Daniel
Reib, and Tudor Trufinescu—for reviewing parts of this book. Not only did these folks
not mind my constant pestering, but they were even more eager to help make this book
as technically accurate as possible.
I am grateful to the Manning team for publishing Microsoft Reporting Services in
Action and demanding my best to ensure that this book meets the highest standards.
Thanks to Dr. Marjan Bace for giving a chance to an aspiring author. Thanks to my
development editors, Ann Navarro and Lianna Wlasiuk, for not losing faith that my
incoherent writings could turn into something readable. As project editor, Mary Pier-
gies has been outstanding in orchestrating the production process. My copy editors,
Liz Welch and Linda Recktenwald, did a great job in polishing my manuscript. Kudos
to my tech editor, Todd Meister, for verifying that the book is technically correct, and
to Susan Forsyth for proofreading the manuscript. Thanks also to Dr. Dave Roberson
for organizing the technical review process and to my technical reviewers, Alexzander
Nepomnjashiy and Mark Monster, for reviewing the manuscript. Thanks to the
book’s publicist, Helen Times, for getting the word out. I am grateful to the rest of
the Manning production team for their many contributions to this book.
Licensed to Iain S Shigeoka <iash@manning.com>
29.
xxiv ACKNOWLEDGMENTS
I mustalso acknowledge my coworkers from Extreme Logic, now part of the
Hewlett-Packard Enterprise Services group, for the productive and competitive
environment that I found so exciting and invigorating. I consider myself very fortu-
nate for having been part of this community for the past four years.
There are a few other people who contributed indirectly to the book. Thanks to
Steven Gould for his Open Source OpenForecast package that I used in chapter 6 for
the report-forecasting example. Thanks to Dino Esposito for his CodeDom sample.
Kudos to Peter Bromberg for the ASP.NET menu control and to Christian Weyer for
the dynamic Web services invocation sample.
My thanks also to the many unnamed developers for their altruistic support on the
.NET discussion lists. I admire your willingness to help. Your contributions kept me
sane during many dire moments in my career! Thanks also to Google for archiving the
newsgroup content and making it easily accessible.
I would especially like to acknowledge my parents, Zlatka and Stefan Lachev, for
supporting me in my choice of studying computer engineering, despite the fact that
a career in medicine or in the army looked much more promising at the time.
Finally, thank you for purchasing this book! I sincerely hope that you will find it
as enjoyable to read as it has been for me to write!
Thanks and happy reporting!
Licensed to Iain S Shigeoka <iash@manning.com>
30.
xxv
roadmap
Following the reportlifecycle’s logical path, this book explains how you can author,
manage, and deliver RS-based reports.
Chapter 1 provides a panoramic overview of Reporting Services. The chapter is
intended to give you a firm grounding in what RS really is. We look at how RS
addresses the reporting problem area, its feature set, and its architecture. To round out
the chapter we jump right in and create our first report. The chapter concludes with
discussing RS strengths and weaknesses.
Part 1, “Authoring reports,” teaches you the skills that you will need as a report
author to create RS-based reports. It encompasses chapters 2–6.
Chapter 2 focuses on discussing various options for authoring reports. We start by
explaining the report-authoring process. We continue by looking at how we can
author reports with Visual Studio .NET by using the Report Wizard and the Report
Designer and by importing from Microsoft Access. We also discuss how developers
can leverage the open nature of the report definition schema by creating reports pro-
grammatically. We conclude the chapter by mentioning two third-party tools that you
can use to author reports ad hoc or import them from Crystal Reports.
Chapter 3 gets to the gist of the report-authoring process by teaching you how to
work with report data. It discusses the RS data architecture and shows you how to
work with data sources, datasets, and report queries. It emphasizes the role of param-
eters and walks you through the steps for creating parameterized reports.
Chapter 4 teaches you the practical skills needed for authoring different types of
reports with the Report Designer. We create various report samples to complement
our discussion, including tabular, freeform, chart, crosstab, subreports, and multicol-
umn reports.
Chapter 5 shows you how to use expressions and functions to extend your reports
programmatically. It starts by emphasizing the role of expressions and how they can
be used to manipulate the report item properties. It continues by giving you an in-
depth understanding of the RS object model and its collections. Next, we look at the
RS internal functions and how they can be leveraged to add interactive features to our
reports, such as reports with navigational features and document maps, as well as local-
ized reports.
Licensed to Iain S Shigeoka <iash@manning.com>
31.
xxvi ROADMAP
Chapter 6explains how you can supercharge the capabilities of your reports by
using embedded Visual Basic .NET code and external code in the form of .NET assem-
blies. It presents an end-to-end example that demonstrates how you can leverage cus-
tom .NET code to add forecasting features to your reports.
Part 2, “Managing reports,” explains how report administrators can manage and
secure the report repository. It includes chapters 7–8.
Chapter 7 discuses different ways of managing the report catalog. It starts by
explaining how report administrators can use the Report Manager to perform various
management activities. Then, it presents other management options, including using
the RS Web service, WMI provider, RS script host, and other utilities.
Chapter 8 teaches you how you can secure the report catalog. It explores the RS
role-based security model and how it can be leveraged to enforce restricted access to
the Report Server. Then, it explains how code access security works and how you can
adjust it to grant permissions selectively to custom code.
Part 3, “Delivering reports,” discusses how developers can integrate RS with dif-
ferent application scenarios. This part includes chapters 9–14.
Chapter 9 provides an overview of the two application integration options available
with RS, URL and Web service, and how they compare with each other.
Chapter 10 teaches you the skills you need to report-enable WinForm-based appli-
cations. It starts by discussing how RS can be leveraged with different application
designs. The chapter walks you through an end-to-end sample, the Report Wizard,
that demonstrates various practical techniques that you can use to integrate this type
of application with RS.
Chapter 11 covers integrating RS with web-based applications. It demonstrates var-
ious techniques for generating reports on the client side and server side of the appli-
cation. Here, we create an enhanced version of the Report Viewer sample control that
facilitates server-side web reporting.
In Chapter 12, you learn how RS can be used in conjunction with OLAP for imple-
mentingsynergeticreportingsolutions.Itwalksyouthroughthestepsforcreatingasample
Analysis Services cube and implementing a WinForm front end with Office Web Com-
ponents for generating dynamic and standard reports.
Chapter13showshowyoucanaddresssomecommonenterprisereportingneeds.Spe-
cifically, this chapter shows you how you can implement a façade layer that supports mul-
tiple reporting providers. In addition, it showcases a possible approach to implement an
application-basedsecuritylayerbyleveragingtheWindows2003AuthorizationManager.
Chapter 14 demonstrates how you can distribute reports via subscriptions. It starts
by explaining how the RS subscribed-delivery process works. Then, it looks at how you
can distribute reports via e-mail and file-share delivery extensions.
Part 4, “Advanced reporting,” teaches you advanced techniques so you can make
the most out of Reporting Services. It consists of chapters 15 and 16.
Chapter 15 discusses the implementation details of three custom extensions that
you can use to extend the features of RS. It starts by implementing a custom dataset
Licensed to Iain S Shigeoka <iash@manning.com>
32.
ROADMAP xxvii
extension toreport off ADO.NET datasets. Then, we discuss a custom delivery exten-
sion that can be used to distribute reports to an arbitrary Web service. Next, we author
a custom security extension. Finally, we show how to plug in custom HTTP modules
to implement preprocessing tasks before the request reaches the Report Server.
Chapter 16 shows you how to conduct a capacity-planning study to evaluate RS
in terms of performance and scalability. You learn how to establish performance goals,
how to create test scripts with the Application Center Test, and how to stress test your
Report Server installation. You can apply the skills you harvest in this chapter for stress
testing not only the Report Server but any web-based application as well.
Licensed to Iain S Shigeoka <iash@manning.com>
33.
xxviii
source code
The book’ssource code can be downloaded from Manning’s web site at http://www.
manning.com/lachev. The next sections discuss the software requirements for execut-
ing the code and the steps to set it up.
Instead of partitioning the source code on a per-chapter basis, we decided to con-
solidate most of it in two applications: a WinForm-based AWReporterWin application
and a web-based AWReporterWeb application. This approach has several advantages,
including the following:
• Simplifies the setup—For example, you need only one virtual folder to host the
AWReporterWeb web application.
• Allows the reader to launch the samples conveniently from a single application menu.
• Simulates real-world applications—For example, you can encapsulate the code
logic in a set of common classes.
The trade-off is that you may not have all the software dependencies required to com-
pile the sample applications and you may run into compilation errors, as explained in
the next section.
SOFTWARE REQUIREMENTS
Table 1 outlines the software requirements needed to run all code samples.
Table 1. Software requirements
Software Reason Used in Chapters
Reporting Services 1.0
(Developer or Enterprise
edition)
The Standard edition doesn’t include custom
security extensions and data-driven subscrip-
tions.
All
Microsoft Windows 2003
Server
For the Authorization Manager component.
If you want to skip this sample, you can use
Windows XP or Windows 2000.
13
Microsoft Visual Studio 2003
with .NET Framework 1.1
Required by Reporting Services. All
continued on next page
Licensed to Iain S Shigeoka <iash@manning.com>
34.
SOFTWARE REQUIREMENTS xxix
Somesamples have more involved setup requirements. For example, chapter 12
requires the Office Web Components Primary Interop Assemblies (PIAs) to be
installed, while chapter 13 requires the Authorization Manager (available only on
Windows 2003 and Windows 2000 as a separate download) to be installed. To pre-
vent compilation errors because of missing external dependencies, we excluded the
source code for these two chapters, the AWReporterWin and AWReporterWeb
projects, respectively. Please follow the setup instructions found in the readme files in
the sample folders to run these samples successfully.
In case you still experience compilation errors as a result of missing external depen-
dencies, we suggest that you resolve the issue by excluding the samples. For example,
let’s say you don’t have Office 2003 and you can’t compile AWReporterWin. To fix
this, right-click on the corresponding folder that contains the sample code in the
Visual Studio .NET 2003 Solution Explorer and choose the Exclude from Project
menu item. Then, compile the project and fix the compilation errors (if any) by com-
menting out any references to the excluded code.
Microsoft SQL Server 2000 Required by Reporting Services. You will
need to install the AdventureWorks2000 data-
base from the RS Setup program.
All
Microsoft Office 2003 For Office Web Components and Access
reporting. You will also need to install the
Office 2003 Primary Interop Assemblies
(PIAs).
12, 13
DynWSLib The Dynamic XML Web Services Invocation
sample for invoking web services dynami-
cally. Can be downloaded for free from got-
dotnet.com.
15
Microsoft WebService Behavior For invoking Web services on the client side
of a web application. Can be downloaded for
free from MSDN.
11
Application Center Test ACT is included with Visual Studio .NET 2003. 16
Analog Web Analyzer For analyzing IIS logs. Can be downloaded for
free from http://www.analog.cx/.
16
Report Magic For reporting off analog files. Can be down-
loaded for free from http://www.report-
magic.org/.
16
Table 1. Software requirements (continued)
Software Reason Used in Chapters
Licensed to Iain S Shigeoka <iash@manning.com>
35.
xxx SOURCE CODE
SETTINGUP THE SOURCE CODE
Once you download the source code archive, you can extract the zip file to any folder
of your hard drive. Once this is done, the folders listed in table 2 will be created.
Most of the code samples include readme files with specific step-by-step instructions
that you follow to set up the code sample.
Running the sample reports in Visual Studio .NET
Perhaps most of you will be eager to run the sample reports immediately. To execute the
reports successfully under the Visual Studio .NET Report Designer, follow these steps:
Step 1 Copy the AWC.RS.Library.dll and OpenForecast.dll to the Report Designer
binary folder, C:Program FilesMicrosoft SQL Server80ToolsReport Designer.
Step 2 Open the AWReporter.rptproj (found under the Reports folder) in Visual
Studio .NET 2003.
Step 3 Change the data source credentials of the AW2000 Shared DS data source by
double-clicking the AW2000 Shared DS.rds file and switching to the Cre-
dentials tab. Enter the user name and password of a database login that has at
least Read permissions to the tables in the AdventureWorks2000 database.
Table 2. Source code folders
Folder Purpose Used in Chapters
AWReporterWeb An ASP.NET web-based application that demon-
strates various web-based reporting techniques.
You will need to set up an IIS virtual folder point-
ing to this folder.
9, 10, 11, 12, 13, 15
AWReporterWin A WinForm-based application that demonstrates
how you can add reporting features to WinForm
applications.
2, 7, 9, 10, 11, 12,13
AWReportViewer The enhanced version of the ReportViewer sam-
ple control for server-side web reporting.
11
AWRsLibrary For report forecasting. 6
Database A database projects that includes SQL scripts to
create stored procedures and views in the
AdventureWorks2000 database.
As dictated by the code
sample setup instructions
Extensions Includes the custom data, delivery, and security
extensions.
15
OpenForecast The converted to J# OpenForecast package. 6
Performance Testing Includes the test scripts for performance testing
RS.
16
Reports Includes the sample reports that we author in
this book.
All
Licensed to Iain S Shigeoka <iash@manning.com>
36.
SETTING UP THESOURCE CODE xxxi
At this point, you should be able to run most of the reports.
Some reports require a more involved setup process. For example, there are reports
that require that additional assemblies, such as AWC.RS.Extensions.dll and AWC.
RS.Library.dll, be configured properly. The readme files that accompany the sample
code include specific step-by-step instructions about how to configure these assemblies.
Deploying the reports to the Report Server
To run most of the code samples successfully, you need to deploy the sample reports
to the Report Server. Assuming that you have Administrator rights to the report cata-
log, the easiest way to do this is to follow these steps:
Step 1 Copy the AWC.RS.Library.dll and OpenForecast.dll to the Report Server
binary folder, C:Program FilesMicrosoft SQL ServerMSSQLReporting
ServicesReportServerbin. This step is needed because some reports refer-
ence these assemblies, and the deployment process will fail if these assemblies
are not found in the Report Server binary folder.
Step 2 If you haven’t done this already, copy the AWC.RS.Library.dll and Open-
Forecast.dll to the Report Designer binary folder C:Program FilesMicrosoft
SQL Server80ToolsReport Designer.
Step 3 Open the AWReporter.rptproj project (found under the Reports folder) in
Visual Studio .NET 2003.
Step 4 Right-click the AWReporter project in the Visual Studio .NET Solution
Explorer and choose Properties to open the project’s properties.
Step 5 Verify that the TargetFolder setting is set to AWReporter and the TargetServer-
URL setting is set to http://<servername>/ReportServer, where <servername>
is the computer name where the Report Server is installed. If RS is installed
locally, the TargetServerURL setting should be http://localhost/ReportServer.
Step 6 Click the Configuration Manager button and verify that both the Build and
Deploy check boxes are selected for Debug configuration. Click OK to dis-
miss the Property Pages dialog.
Step 7 Right-click the AWReporter project again and choose Deploy. This will build
the reports and then deploy them to the report catalog.
Step 8 To verify the setup, open the Report Manager web portal. If RS is installed
locally, the default Report Manager URL will be http://localhost/reports.
Under the Home folder, verify that the AWReporter folder exists. Click its
link and run the Sales By Territory report. If everything is okay, the report
will render in the browser.
Licensed to Iain S Shigeoka <iash@manning.com>
37.
xxxii SOURCE CODE
Configuringthe AWReporterWeb application
To configure the web-based samples, you need to set up the AWReporterWeb virtual
folder by following these steps:
Step 1 Right-click the AWReporterWeb folder in Windows Explorer and choose
Properties.
Step 2 Select the Web Sharing tab.
Step 3 Click the Share This Folder radio button.
Step 4 In the Edit Alias dialog, enter AWReporterWeb as an alias.
Step 5 Make sure that the Read Access Permission check box is selected and the
Scripts radio button is selected. Click OK to close the Edit Alias dialog.
Step 6 Open the Internet Information Manager (IIS) console. Right-click the
AWReporterWeb folder, choose Properties, and then select the Directory
Security tab. Click the Edit button in the Authentication and Access Control
panel. Uncheck the Enable Anonymous Access check box. Make sure that
the Integrated Windows Authentication check box is selected.
Licensed to Iain S Shigeoka <iash@manning.com>
38.
xxxiii
author online
Your purchaseof Microsoft Reporting Services in Action includes free access to a private
web forum run by Manning Publications, where you can make comments about the
book, ask technical questions, and receive help from the author and from other users.
To access the forum and subscribe to it, point your web browser to www.manning.com/
lachev. This page provides information on how to get on the forum once you are regis-
tered, what kind of help is available, and the rules of conduct on the forum.
Manning’s commitment to our readers is to provide a venue where a meaningful
dialog among individual readers and between readers and the author can take place.
It is not a commitment to any specific amount of participation on the part of the
author, whose contribution to the AO remains voluntary (and unpaid). We suggest
you try asking the author some challenging questions, lest his interest stray! The
Author Online forum and the archives of previous discussions will be accessible from
the publisher’s web site as long as the book is in print.
ABOUT THE AUTHOR
Teo Lachev has more than 11 years of experience designing and developing Microsoft-
centered solutions. He currently works as a technology consultant for the Enterprise
Application Services practice of Hewlett-Packard. Teo is a Microsoft Certified Solu-
tion Developer and Microsoft Certified Trainer. He lives in Atlanta, Georgia.
You can contact Teo through the Author Online forum, by sending him e-mail at
teo@prologika.com, or by visiting his web site at http://www.prologika.com.
Licensed to Iain S Shigeoka <iash@manning.com>
39.
xxxiv
about the titleand cover
By combining introductions, overviews, and how-to examples, Manning’s In Action
books are designed to help learning and remembering. According to research in
cognitive science, the things people remember are things they discover during self-
motivated exploration. Although no one at Manning is a cognitive scientist, we are
convinced that for learning to become permanent it must pass through stages of
exploration, play, and, interestingly, re-telling of what is being learned. People
understand and remember new things, which is to say they master them, only after
actively exploring them. Humans learn in action. An essential part of an In Action
guide is that it is example-driven. It encourages the reader to try things out, to play
with new code, and explore new ideas.
There is another, more mundane, reason for the title of this book: our readers are
busy. They use books to do a job or solve a problem. They need books that allow them
to jump in and jump out easily and learn just what they want, just when they want
it. They need books that aid them in action. The books in this series are designed for
such readers.
ABOUT THE COVER ILLUSTRATION
The figure on the cover of Microsoft Reporting Services in Action is a “Giancataro,” who,
judging by his attire, might be a tradesman or basket weaver. We know the illustration is
taken from an Italian source estimated to be about 200 years old. Our efforts to get a
translation of “Giancataro” have failed. The first reader who correctly solves the puzzle
of what the word means will receive a free Manning book of his or her choice. Please
post your translations to the Author Online forum at www.manning.com/lachev.
We at Manning celebrate the inventiveness, the initiative, and the fun of the com-
puter business with book covers based on the rich diversity of regional life of two cen-
turies ago brought back to life by pictures assembled from various collections. This was
a time when the dress codes of two regions separated by a few dozen miles identified
people uniquely as belonging to one or the other. Dress codes have changed since then
and it is now often hard to tell the inhabitant of one continent from another. Perhaps,
trying to view it optimistically, we have traded a cultural and visual diversity for a more
varied and interesting personal, intellectual—and technical life.
Licensed to Iain S Shigeoka <iash@manning.com>
40.
1
C H AP T E R 1
Introducing Microsoft
Reporting Services
1.1 What is RS? 2
1.2 RS at a glance 6
1.3 RS architecture 11
1.4 Understanding Report Processing 17
1.5 Delivering reports 20
1.6 What is the report lifecycle? 22
1.7 RS in action 23
1.8 Evaluating RS 33
1.9 Summary 35
1.10 Resources 35
So much information, so little time ... the character “Poison Ivy” would likely say if
the Batman saga was taking place in today’s enterprise.
We all know that the dot.com boom is history and so are the lavish IT budgets.
In the doldrums of the economic recovery, organizations tend to spend their money
on streamlining internal processes to gain a competitive advantage. According to
Microsoft, today’s information workers spend as much as 80 percent of their time
gathering information, with only 20 percent left to analyze it and make a decision. In
many organizations, such requests consume significant IT and development resources.
Too often, Excel spreadsheets are the prevalent reporting tools today and manual data
entry or “pencil-pushing” is among the top reasons for inaccurate data and wrong
decisions. Aware of these issues, Microsoft initiated the Microsoft SQL Server 2000
Reporting Services project at the beginning of the new millennium, with a bold vision
to “enable employees at all levels of an organization to realize the promise of Business
Intelligence to promote better decision making.”
This chapter provides a panoramic view of Reporting Services (RS). Throughout the
rest of this book I will use the terms Reporting Services and RS interchangeably. You will see
Licensed to Iain S Shigeoka <iash@manning.com>
41.
2 CHAPTER 1INTRODUCING MICROSOFT REPORTING SERVICES
• Why RS is such a compelling choice for enterprise reporting
• The main parts of the RS architecture
• The report-generation process and report lifecycle
• The steps for creating your first RS report
1.1 WHAT IS RS?
Regardless of the alphabet soup of terms and acronyms that are popping up like daisies
almost every day and that have probably become a part of your IT vocabulary—terms
such as BI (business intelligence), OLAP (online analytical processing), data mining,
DSSs (decision support systems), EISs (executive information systems), digital dash-
boards, enterprise portals, and enterprise data buses—the purpose of enterprise report-
ing is to simply “get out” what was “put in.” Therefore, for many applications,
reporting represents the last, and often most important, stage of the IT pipeline.
To clarify the last point, let’s consider a typical scenario that RS can address effec-
tively. Let’s say that an organization has built a web portal for submitting orders
online. As the business grows, the same organization may need to implement a report-
ing infrastructure to analyze sales data and understand its business, for example, to
find out the top-selling products, customer demographics, and so forth. To accom-
plish this goal, the organization could leverage RS.
We use the term report to refer to the web-based or saved-to-file counterpart of a
standard paper-oriented report. For example, an organization may want to give its cus-
tomers an option to generate various reports online—an Order History report, for
instance. Web reporting has traditionally been difficult to implement. Even more dif-
ficult has been exporting reports to different file formats. RS solve both problems ele-
gantly, for two reasons. First, out-of-the-box RS is web-enabled. Second, most popular
export formats are natively supported.
1.1.1 Why do we need RS?
Ironically, despite the important role that reporting plays in today’s enterprise, creating
and distributing reports have been traditionally painstaking and laborious chores. To
understand why we need RS, let’s analyze the reporting problem space.
Table 1.1 lists some of the most pressing issues surrounding the reporting arena
and how RS addresses them.
Table 1.1 How Microsoft RS deals with the reporting problem space
Reporting Need How RS addresses it?
Report authoring can be labor intensive. By using the powerful Report Designer, you can author
reports as easily as you can with Microsoft Access.
Centralized report management is
needed.
RS enables you to save your reports in a single report
repository.
continued on next page
Licensed to Iain S Shigeoka <iash@manning.com>
42.
WHAT IS RS?3
Depending on your particular situation you may find other compelling reasons to
target RS as your reporting platform of choice. We revisit the RS features throughout
this chapter.
Supported report types
Your reporting requirements may call for authoring various types of reports that differ
in complexity. For example, your users may request that a large report include a doc-
ument map for easy navigation. RS lets you design a variety of report types, as listed in
table 1.2.
Reports need to be distributed to
various destinations.
RS supports both on-demand and subscription-based
reporting. Reports can be requested on-demand by Win-
Form and web-based applications. Alternatively, reports
can be distributed to a list of subscribers.
Reports often need to be exported
in different electronic formats.
RS supports many popular export formats out of the box.
Proprietary nature of reporting tools
doesn’t allow you to extend them.
RS has a flexible architecture that allows you to extend
RS capabilities by writing custom code.
Reports need to be secured. RS offers a comprehensive security model that adminis-
trators can leverage to enforce secured access to reports
by assigning users to roles. When the default Windows-
based authentication is not a good fit, it can be replaced
with custom security implementations.
Enterprise reporting solutions
can be costly.
To minimize cost, RS is bundled and licensed with SQL
Server. If you have a licensed copy of SQL Server 2000,
you may run RS on the same server for no additional
license fee.
Table 1.2 RS supports various report types
Report Type Purpose Example
Tabular Displays data in a table format with a
fixed number or rows and columns.
Excel-type reports
Freeform Data regions are positioned arbitrarily
on the page by the report author.
Invoice-invoice details report
Chart Presents data graphically. Employee performance chart
Crosstab (matrix) Data is rotated to present row data as
columns.
A report that shows products on rows
and time on columns
Drilldown Includes expandable sections. A company performance crosstab
report where product can be
expanded by category and brand
continued on next page
Table 1.1 How Microsoft RS deals with the reporting problem space (continued)
Reporting Need How RS addresses it?
Licensed to Iain S Shigeoka <iash@manning.com>
43.
4 CHAPTER 1INTRODUCING MICROSOFT REPORTING SERVICES
Although most popular reporting tools support many of the report types shown in
table 1.2, RS makes the report-authoring process as easy as working with Microsoft
Access reporting functionality. For example, report authors can drag and drop items to
define the report’s appearance.
Now that we understand what RS is, let’s see how it fits in the Microsoft BI vision.
1.1.2 How is RS implemented?
Microsoft released version 1.0 of RS at the beginning of 2004 as an add-on to
Microsoft SQL Server 2000. At a very high level, RS can be defined as a server-based
platform for authoring, managing, and distributing reports. We discuss the RS archi-
tecture in more detail in a moment. For now, note that RS is integrated with and
requires several other Microsoft products, including:
• Windows 2000 or above as a server operating system
• Microsoft SQL Server 2000 (with Service Pack 3a) and above
• Internet Information Server (IIS) 5.0 or above
• .NET Framework 1.1
• Visual Studio .NET 2003 for report authoring and testing
For more information about installing RS, please refer to appendix A.
RS editions
To address different user needs, RS is available in several editions, as you can see by
looking at table 1.3.
Drillthrough Generated from clicking on a hyper-
link.
Customer Order History with hyper-
links on the order identifier to show
the order details report
Interactive Includes interactive features, such as
document maps, hyperlinks, visible-
on-demand sections, and so forth.
Adobe Acrobat–type reports with doc-
ument maps on the left side
Table 1.2 RS supports various report types (continued)
Report Type Purpose Example
Table 1.3 RS supports editions to meet various reporting needs
Edition Choose when…
Standard You need to install RS on a single computer. The Standard edition doesn’t support
clustered deployment to load-balance multiple RS instances.
Enterprise You need all RS features, including load balancing.
Developer You have to integrate RS with client applications or extend its capabilities by writing
.NET code. The Developer edition supports the same feature set as the Enterprise
edition, but it is for use as a test and development system, not as a production server.
Evaluation You need to evaluate RS. The Evaluation edition expires after 120 days.
Licensed to Iain S Shigeoka <iash@manning.com>
44.
WHAT IS RS?5
For more information about how the RS editions differ, refer to the product documen-
tation or the “Reporting Services Features Comparison” section in the RS official web-
site at http://microsoft.com/sql/reporting/productinfo/features.asp.
For information about RS licensing requirements, visit the “How to License
Reporting Services” page at http://www.microsoft.com/sql/reporting/howtobuy/
howtolicensers.asp.
1.1.3 RS and the Microsoft BI platform
RS is positioned as an integral part of Microsoft’s business intelligence (BI) platform.
This platform is a multiproduct offering whose goal is to address the most common
data management and analysis challenges that many organizations face every day, such
as analyzing vast volumes of data, trend discovery, data management, and of course,
comprehensive reporting.
During the RS official launch presentation on January 27, 2004, Paul Flessner,
Microsoft senior vice president of Enterprise Services, outlined the place of RS in the
Microsoft BI platform offering, as shown in figure 1.1.
Table 1.4 outlines the purpose of the major building blocks within the Microsoft
BI platform.
Most of you have probably used more than one of these products in the past to
solve your data management and analysis needs. Indeed, most of them have been
around for a while. What was missing was a product for authoring, managing, and
Figure 1.1 The Microsoft BI platform consists of several products layered on top
of the SQL Server database engine and addresses various data management and
reporting needs.
Licensed to Iain S Shigeoka <iash@manning.com>
45.
6 CHAPTER 1INTRODUCING MICROSOFT REPORTING SERVICES
generating reports that could be easily integrated with all types of applications. RS fills
the bill nicely.
Having introduced you to RS, let’s take a panoramic view of its features to under-
stand why it can be such a compelling choice for enterprise reporting.
1.2 RS AT A GLANCE
Even in its first release, RS offers a broad array of features that can address various
reporting needs:
• Information workers can leverage RS to author both standard (“canned”) reports and
reports with interactive features. Here, we use the term “standard” to refer to
reports that display static data. An interesting aspect of RS is that your reports
can include a variety of features that provide interactivity to users. For example,
the end user can show or hide items in a report and click links that launch other
reports or web pages.
• Third-party vendors can target RS to package reports as a part of their applications.
For example, if customers have RS installed, the vendor setup program can upload
the report files to the Report Server. You’ll see this done in chapter 2. Note that
the next version of RS is expected to include stand-alone controls for generating
reports directly from report files and will not require RS to be installed.
• Organizations can use RS to report-enable their business-to-business (B2B) or business-
to-consumer (B2C) applications. For example, an organization can selectively expose
some of its data in the form of reports to its business partners. You’ll see an
example of a similar integration scenario in chapter 11.
Let’s now get a glimpse of the RS landscape and observe some of RS’s most prominent
landmarks. Don’t worry if you find you are not getting the Big Picture yet. In section
1.3, we take a closer look at the main pieces of the RS architecture.
Table 1.4 The key Microsoft BI platform components
Component Purpose
Microsoft SQL Server A relational database to store data
Analysis Services An analytical processing (OLAP) engine
Data Transformation Services Tools for extracting, transforming and loading data
Reporting Services Server-based reporting platform for report authoring, management
and delivery
Replication Services Replicates data to heterogeneous data sources
Microsoft Office Desktop applications for data analysis and reporting
SharePoint Portal Server Business Intelligence collaboration
Visual Studio.NET A development tool to create .NET-based applications, including
analytical and reporting solutions.
Licensed to Iain S Shigeoka <iash@manning.com>
46.
RS AT AGLANCE 7
1.2.1 Authoring features
As a report author, with RS you have several choices for creating reports. We discuss
each of these options in detail in chapter 2. For now, we’d like to introduce you to the
Report Designer; this will likely be the option that you will use most of the time for
report authoring.
Introducing the Report Designer
Using the Report Designer graphical environment, you can create reports of different
types, such as crosstab drilldown reports, like the one shown in figure 1.2.
RS doesn’t restrict your report-authoring options to static paper-oriented reports.
Instead, you can make your reports more versatile and easy to use by adding interactive
features, such as expandable sections, hyperlinks, and document maps. Given its tight
integration with the Visual Studio. NET integrated development environment (IDE),
the Report Designer provides you with access to all report design features as well as
team development features, such as source code management.
About the Report Definition Language
At this point, you may be wondering what an RS-based report file looks like and how
it is stored. RS saves the report as an Extensible Markup Language (XML) file that is
described in a Report Definition Language schema.
Figure 1.2 With RS you can create various types of reports, including drilldown crosstab
reports like this one.
Licensed to Iain S Shigeoka <iash@manning.com>
47.
8 CHAPTER 1INTRODUCING MICROSOFT REPORTING SERVICES
DEFINITION A report definition contains report data retrieval and layout information.
The report definition is described in an XML schema, called the Report
Definition Language (RDL).
Saving reports as XML-based report definition files offers two main advantages:
• It makes the report format open and extensible. Using the XML-based RDL format
is beneficial for achieving interoperability among applications and vendors.
Microsoft is working with other industry leaders to promote RDL as an XML-
based standard for report definitions. Visit the RS official website (check the
Resources section for the link) for a list of Microsoft RS partners.
• It makes the report portable. For example, you can easily save the report to a file
and upload it to another Report Server. In chapter 2 you’ll see how a third-party
reporting tool leverages this feature for ad-hoc reporting.
If you use the Report Designer to create your report, its definition will be automat-
ically generated for you. However, just as you don’t have to use Visual Studio .NET
to write .NET applications, you can write the report definition using an editor of
your choice, such as Notepad, or generate it programmatically (as you will see in
chapter 2). Of course, the Report Designer makes authoring reports a whole lot eas-
ier. Third-party tools will most likely emerge at some point to provide alternative
RDL editors.
1.2.2 Management features
RS facilitates report management by storing reports and their related items in a central
report catalog. To deploy and manage a report, you need to upload it to the report cat-
alog. When this happens, it becomes a managed report.
DEFINITIONS Throughout the rest of this book we will use the terms report catalog and
report repository interchangeably to refer to the RS Configuration Database.
For more information about this database, refer to section 1.3.2.
A managed report is a report that is uploaded to the report catalog.
For .NET developers, the term “managed” has nothing to do with .NET managed
code, although the pattern is the same. While .NET managed code runs under the
supervision of the .NET Common Language Runtime (CLR), a managed report is gen-
erated under the control of the Report Server.
You may wonder what really happens when a report is uploaded to the report cat-
alog. At publishing time, the Report Server parses the report definition (RDL), gen-
erates a .NET assembly, and stores the assembly in the Report Configuration Database
for the report. The RDL file is never used again. When the report is processed, the
assembly is loaded and executed by the Report Server.
A report can include other items, such as images and data source–related informa-
tion. These report-related items are also stored in the report catalog. Finally, the report
catalog captures additional information, called metadata, associated with reports. For
Licensed to Iain S Shigeoka <iash@manning.com>
48.
RS AT AGLANCE 9
example, just as you can organize physical files in folders, RS allows you to organize
reports in folders.
DEFINITION The report metadata describes additional configuration information associat-
ed with a report, such as security permissions, the parent folder, and so forth.
RS offers centralized report management that administrators will appreciate. To sim-
plify the administration of the report catalog, RS comes with a tool called the Report
Manager. The Report Manager is implemented as a web-based application, and as
such it is easily accessible. This tool empowers you to manage just about any aspect of
the report repository, including
• Report information and metadata, such as the folder structure and report properties
• Data sources from which the report will draw data
• Report parameters (for parameterized reports)
• Security
1.2.3 Delivery features
Reports hosted under RS can be delivered using on-demand (“pulled”) delivery or sub-
scribed (“pushed”) delivery. The more common scenario is on-demand delivery, where
the user requests the report explicitly. As a report author, you don’t have to do anything
special to web-enable your report because RS does this for you once it is uploaded to
the report catalog.
The “pushed” delivery option alone can justify implementing RS. This option gives
end users the ability to subscribe to reports, so reports will be sent to them when a cer-
tain event is triggered—when a timing event triggers, for instance, for report subscrip-
tions based on a schedule. As another example, a financial institution could allow its
customers to opt in and subscribe to certain reports of interest, such as a monthly bank
statement. Then, at the end of the month, the bank statement report could be gener-
ated and sent to users via e-mail.
We’ll discuss the report-delivery process in more detail in section 1.5.
1.2.4 Extensibility features
An important characteristic of every enterprise-oriented product, such as RS, is that it
has to be easily extendable. Simply put, extensibility relates to the system’s ability to
accommodate new features that are built out of old ones. One of the things I like most
about RS is the extensibility features it includes by virtue of its open and flexible archi-
tecture. Developers can easily extend RS by writing .NET code in their preferred .NET
language. Specifically, you can extend RS in the following areas:
• Custom .NET code—.NET developers can enhance reports programmatically
by writing .NET custom code. Chapter 6 demonstrates how you can add fore-
casting features to your reports by using prepackaged code in the form of
.NET assemblies.
Licensed to Iain S Shigeoka <iash@manning.com>
49.
10 CHAPTER 1INTRODUCING MICROSOFT REPORTING SERVICES
• Data processing extensions—Out of the box, RS can connect to any data source
that has an ODBC or OLE DB provider. In addition, you can write your own cus-
tom data extensions to report off other data structures, as chapter 15 illustrates.
• Delivery extensions—Out of the box, subscribed reports can be delivered via e-
mail or file share delivery extensions. Developers can write their own delivery
extensions to deliver the report to other destinations, such as to web services, as
you’ll learn in chapter 15.
• Security extensions—By default, RS uses the Windows-based security model to
enforce restricted access to the report catalog. If Windows-based security is not
an option, you can replace it with custom security models. You’ll see an example
of how this could be done in chapter 15, where we’ll implement custom
authentication and authorization for Internet-oriented reporting.
• Rendering extensions—Generating reports in other export formats than the ones
supported natively can be accomplished by writing custom rendering extensions.
See section 1.4.2 for more information about the supported export formats.
1.2.5 Scalability features
A scalable application responds well under increased loads. RS can scale up and out to
address the high-volume reporting requirements of large organizations. It is designed
from the ground up to process reports efficiently. For example, it supports several
report caching options, such as report execution caching, snapshots, and report ses-
sions, as we discuss in chapter 7.
Reporting Services Enterprise Edition supports clustered deployment, which you
can use to load-balance several RS servers on multiple machines. This allows enterprise
organizations with high-scalability requirements to scale out RS and provides fault tol-
erance. RS performance is the subject of chapter 16.
1.2.6 Security features
RS is designed to provide a secured environment from the ground up. It offers a com-
prehensive security model for accessing reports that leverages Windows authentica-
tion. This model maps the user Windows account or group to a role, and the role
describes what permissions the user has to access items in the report catalog. Report
administrators can add Windows users to predefined roles or create new ones.
Once again, when the default Windows-based security model is not a good fit, you
can replace it by plugging in your own custom authentication and authorization
implementations in the form of custom security extensions.
To promote trustworthy computing, RS leverages the .NET code-based security to
“sandbox” custom code based on configurable security policies. We discuss the RS
security model in chapter 8.
Licensed to Iain S Shigeoka <iash@manning.com>
would certainly bea blow to the truant officer’s method of dealing
with girls. At present it constitutes his one suggestion, his only
“golden cure.”
The girl’s schooling begins to suffer as soon as there is any especial
need for assistance at home.78 Two or three days are dropped
repeatedly. Wage-earning sisters cannot stop at home to nurse an
invalid or care for younger children while the mother works. When a
new baby comes, it is the oldest school girl who carries the extra
burden of work. Even the most devoted mothers make these
encroachments on the time which belongs to the school. They are
driven to it by necessity. “What can I do? There ain’t nobody else
and I’ve got to keep Mamie t’ help.”
When Mrs. Kersey went to the hospital, it was “Baby,” the eleven-
year-old daughter, who was kept out of school to do the work, and
not her older sister employed in a factory. “You ought t’ ’a’ seen how
Baby run our house,”—her wage-earning sister was giving the
account. “Gee, but she was that strict, believe me. I couldn’t have a
cent o’ my money. No shows them days fer mine. She cried if me
father didn’t give ’er his pay an’ she made him, too. She’d give him
his quarter fer shavin’ money, but not a cent more. An’ she bought
everythin’ an’ run things herself. Me mother was away sick fer nine
months. Baby, she’s an awful good girl.”
Emma Larkey, having at last struggled up to Class 5B, had just
dropped out of school for good. She was normal in body and mind.
She should have been in the graduating class. Why wasn’t she? In
the first place, she had changed schools eight times since her start,
wandering indifferently from public to parochial school and then
back again. In the second place, there were five younger children
and she was constantly being kept at home. The mother patched
grain sacks in order to pay rent for a well lighted apartment of five
rooms. “There are nine of us, and if I don’t work, we’d have to
crowd up an’ sleep in those black stuffy bedrooms. I can’t bear for
the children to do that.” Decent living quarters and fresh air for the
52.
whole family seemedmore important than Emma’s schooling.
Something must give way under such pressure and so it was Emma
who went down. She had braced her young shoulders to tasks more
difficult than school lessons and had lost all desire to finish the
grammar grades by the time the second girl was old enough to
relieve her at home.
The result of so much absence was seen in the great retardation
among our girls. Thirteen to fifteen is regarded as the normal age
for graduation,79 and by this standard only 10 of our 65 girls were in
the normal grade. All the rest were “laggards.” There were, for
instance, 35 girls who were fourteen years old, the normal age for
graduation. Some of them had gone to work, while others were still
in school. The grades they had left or were still attending are shown
in the following distribution: Two had reached the 3B grade; four,
4A; three, 4B; one, 5A; four, 5B; four, 6A; four, 6B; five, 7A; three,
7B; and four, 8A. One girl had been in an institution. The girls are
thus seen to have been distributed almost impartially from the third
to the eighth grade. There was for them practically no relation
between age and grade.
An occasional girl is defiantly truant. Her refusal to fit into the school
system marks a deeper vein of rebellion than in the case of the boy,
who more commonly slips the leading strings. Or else it marks an
undeveloped body and spirit in dealing with which the usual forcible
methods of combating truancy are often ineffectual.
Annie Gibson was a slim, undersized girl of fifteen. Her light, almost
colorless hair hung down around small, undeveloped features,
strikingly vacant and weak. Her teeth, very small and deeply set,
might have been the milk teeth of a well-developed baby.
Surrounded by a cover of reticence and a surface of embarrassment,
her real thoughts were impossible to discover. She would agree to
anything but would seldom volunteer an opinion of her own.
53.
In school shewas a passive pupil, never “giving trouble” but learning
little, and her attendance record was very low. In time she
furnished-one of the most stubborn cases of truancy in the school
and the truant officer was sent after her. He found her at home
alone, the girl’s mother being away at her regular work as
chambermaid in a hotel. As the officer laid his hand on her arm to
take her back to school, the child’s passivity suddenly broke and she
flung herself on the floor, screaming. The man retreated in
consternation, fearful that he might be accused of having physically
mishandled the child, while Annie was left to recover from her
hysterical outbreak as well as she could. This is only one instance of
the futility of applying our present method of dealing with truancy to
these exceptional cases. This child was primarily in need of careful
mental and physical examination and probably of special training
which could only be defined after such an examination had been
made.
When the difficulty rests with the girl there is no course between
threats and a sentence of great severity. The parent may be fined,
but then the punishment does not fall on the child. If she is sent
away it must be to a reformatory, not to a school. Let us see how
these methods would work applied to Christina Cull, another of our
girls who was a stubborn truant. At fourteen, she had reached Class
4A. She had not “made her days”; that is, attended school for 130
days during the year prior to her fourteenth birthday. Nor had she
gone far enough in her classes to get her working papers. But
Christina refused to pass the doorway of a school. She had gone far
beyond the influence of the ordinary school.
Five years before, one of the Catholic fathers had found her loitering
in the rear of his church. It was soon after Christmas and he stopped
to ask about her holiday. She answered shortly that she had had
neither presents nor a good time. His interest in the pathetic, sullen
child took him later to her home. The family was squalidly poor.
They lived in three dark basement rooms, without comfort or
decency. The father, after four years of desertion, had returned
54.
home in thefinal stage of tuberculosis to be cared for until his
death.
Christina had grown into a forbidding girl. Her face was so lined and
so hard that she looked years older than she was. The childlike
effect of her flowing hair and long bangs contrasted oddly with the
age and hardness of her features. She might almost have been a
middle-aged woman masquerading as a little girl. The truant officer
went after her time and again, only to listen to the mother’s
repeated complaint. Christina was “out from under” her; she went
where she listed. Threats were long since outworn and useless. She
had heard them from babyhood. “Aw—they talk but they won’t do
nothin’.” Occasionally she would grow frightened and penitent for the
moment. But re-enter the ordinary school and sit in the classes with
the younger children, she would not.
No course was left but to take the culprit before the superintendent
and enter a formal complaint against her. There would then be two
plans of action which might be followed: Christina’s mother—her
father had died in the meantime—might be fined in the magistrate’s
court or Christina might be committed to a reformatory. To fine the
mother of a family already on the verge of dependency was
manifestly futile. On the other hand, a reformatory sentence for a
girl whose only offense was that she refused to go to school seemed
much too severe. In the face of this dilemma no action at all was
taken. Christina, without working papers, without work, was left to
employ her illegal holidays in her own way. Her only chance for
positive discipline was that she might soon become a serious
offender for whom a reformatory sentence might not be too severe.
For girls like Christina the only remedy seems to be that they shall
grow worse before they can grow better. Such a roundabout and
wasteful course might be obviated if we had a truant school for girls,
as we already have for boys, especially planned for their needs.
It is a common occurrence for a girl to escape from school at
thirteen or fourteen without open defiance of the labor law. Of our
55.
65 girls, atleast nine had left school illegally. Their escape was
accomplished by petty frauds of various kinds. One girl gave the
school a false address; another altered the date on her birth
certificate. Two had been absent for illness and had never returned.
Others simply “dropped out” and their defection was not followed up
by the school, which with its limited number of attendance officers is
bound to neglect many such cases. These are some of the usual
loopholes by which the girl evades the school law.
The young refugee does not always find it easy to get her working
papers at once. The required record of 130 days’ attendance during
the previous year is a serious stumbling block, although it allows for
70 absences out of a possible 200 attendances. In the public schools
she has to reach a 5B grade80 and pass an educational test before
the school papers which she must present at the board of health are
signed. There the mental test is simpler—a mere proof of ability to
read and write. She is tested on two or three primer sentences, such
as, “Is my mother in this room?” She is then weighed and measured;
and occasionally a child much under average is rejected. Failing in
any of the requirements, the girl must wait until she is sixteen, when
she may legally go to work without papers. In the meantime she
helps at home, or “lives out,” or finds an employer who is willing to
connive at her lack of working papers.
These are the girls who evade the law. Those who are obedient to
its requirements are scarcely less eager to escape. Almost without
exception, the girls of our district step eagerly forth from the school
at the earliest possible moment. Not a girl of our clubs had stayed in
school longer than the law required or long enough to “graduate”
from the eighth grade. To continue in school after you can get your
working papers is a sign of over-education and is not popular.
In thus leaving school as soon as the law allows, family need very
often plays a part. Sometimes the younger girl has begun to lend a
hand during vacations. The Donovans tell how “Sissy” got a job at
eleven. It was the summer when both parents were ill and out of
56.
work. They stillchuckle with appreciation of Sissy’s enterprise.
“You’d ought to ha’ seen her. She let down her skirts and done up
her hair. She was just a bit o’ a thing—not twelve then. She come
out one mornin’ an’ said, ‘Ma, I’m goin’ to go to work’s well as
Mame.’ We laughed at ’er but she set out. So that day she come
back an’ sure enough she’d got a job in a chewin’ gum fact’ry,
wrappin’ packages. There was a graphophone an’ at lunch time all
the girls danced. Oh, she had a grand time, be-lieve me. There was
a lot o’ little girls whose mothers were poor. When the inspector
come, they’d hide Sissy under the table. We most died laughin’ when
she brought her first week’s pay—85 cents! Now, what d’ye think
about that? She come in here an’ give it t’ me as proud ’s if it had
been dollars instead.”
It is not surprising that after a vacation adventure like this Sissy
began to lose interest in school. Working in a factory is not all fun,
but it brings a measure of independence which the young
personality craves beyond all else. It is not always stern need alone
which sends the girl out to work at such an early age. Parents may
call on her in times of special stress and insist on her returning to
school as soon as the pressure is removed. But public opinion
among the girls themselves is strong and decided on this point. “I
don’t mind studyin’, but all my friends are goin’ t’ work, an’ I don’t
want t’ stay. My mother an’ brothers all holler at me, but I’m kickin’
to leave. Graduate? Gee, stay two years? Not for me—it’s too slow.”
The girl’s restlessness demands at this age something very new and
vivid. This the school has so far failed to supply. She thinks she may
find it in work. And by the time she has discovered that work too
grows tedious and monotonous, her greater independence has
enabled her to make free use of her evenings for the changes and
new experiences she craves.
57.
O
CHAPTER IV
WAGE-EARNING ANDNEW RELATIONS AT HOME
UR West Side girl sets out some morning, short-skirted, hair in
braids, absurdly childish, to find her minute place in the great
industrial world. Probably she strolls through the streets, looking for
“Girl Wanted” signs. She will try at one of the big factories nearby.
Or, if she is fortunate, some friend who is already working there
speaks for her. The more enterprising buy the World and consult its
long columns of advertisements.
The West Side factories take in the majority of the work seekers. A
few with especial pretensions to “refinement,” or whose families
sincerely dread the physical strain and supposedly lower social and
moral standards of the factory, go into department stores or become
errand girls to milliners or dressmakers. But most of the girls prefer
the higher wages of the factory. Lizzie Wade, herself a laundry
worker, was perfectly clear in her sixteen-year-old mind as to the
advantages of factory work over department store work. “In the first
place,” she pointed out, “the factory girl gets better pay, and if she
hasn’t any home, she can always get a family to live with. The girl
that works in a store lives in the cheapest boarding houses, and gets
soaked for her board just the same.”
Few sixteen-year-old workers are as wise as Lizzie. Many of them,
no doubt, are vaguely influenced by reasons just as practical in
preferring the factory to the store, though they are less able to
express them. But if they are asked to justify their preferences, they
are likely to return very childish answers. “Tootsie” O’Brien had
achieved her working papers at fourteen and a half and was looking
58.
for a place.It was significant that Tootsie, who had qualified as a
wage-earner, had not yet outgrown her baby name at home. She
was willing to take any kind of work, she said, but liked housework
best. She wanted to “live out” because her brother was always
fighting with her. However, she soon changed her mind, as her sister,
who had been a servant before her marriage, told her that she
wouldn’t be allowed out when at service. She finally went to work in
a factory.
Girls of this type do the most unskilled work in the entire scale of
factory occupations. They are not equal to the high grade, skilled
work of the garment trades and textile industries. An inquiry
concerning the occupations of 26 girls showed the following results:
One was a trimmer in a necktie factory; three were folding or slip-
sheeting in bookbinderies; one was rolling wall paper; one was
working in a tin can factory, operating a machine which fixed the
bails in lard cans; nine were packers or wrappers in factories
producing biscuits, candy, cigarettes, or drugs; three were markers
and shakers in steam laundries; eight were errand girls and
messengers for milliners or dressmakers.
These occupations are patently without educational value. The
factory processes are the sort of lightweight machine work usually
assigned to young girls after the last drop of individual responsibility
has been squeezed out. Their chief characteristic is a degree of
monotony in which no discipline for the young worker is possible
because their effect is stupefaction. The work soon palls on the girl’s
restless spirit. Martie Sheridan, after five months of this grinding
monotony, secretly cut the belt of her machine just to get a day off.
Another girl probably, long before the end of five months, would
have thrown up her job and tried another, if not several others.
Finding a new place is always something of an adventure, and in the
process of shifting she enjoys a few days of freedom. Pauline Stark,
throughout her four years of wage-earning, had been a “rover.” She
had had no trouble in finding new places and had tried so many that
59.
she had lostcount of the number. “I see a sign up an’ I go an’ try.
Then sometimes I meet some one I know. I stop an’ get to talking
an’ mebbe I won’t look any more that day. But it don’t take long.
Sometimes I throw up a job the first day. I can tell. I take a look
around an’ see that it ain’t for me. Then I work out the day an’ don’t
go back.”
It is difficult for the girls to give an accurate account as to where
they have worked and the changes they have made. They are hazy
as to places and quite unreliable as to the length of stay. With great
effort we pieced together the industrial histories of girls who had
been employed for some time. Although most of them had been at
work less than a year, they had tried a great number of occupations.
The 30 wage-earners in our club mustered among them 120
different jobs, an average of four apiece. Two girls of sixteen had
held 12 positions each; one girl of sixteen, 10 positions; and one
fifteen-year-old had had nine. One-third of the 30 had had five or
more positions. These instances give some idea of the way in which
the girl of fourteen and fifteen flits from job to job. It is no wonder
that she is inaccurate concerning the details of her industrial
experience when each connection is so brief and episodic. A further
reason for her haziness is that her point of contact with the great
factory and its processes is so slight. Nellie Sherin, aged fourteen,
worked in one of the largest and best of the West Side factories. Her
childish description of her work is the best indication of her
incompetence. “I have to run a machine that pastes the labels. If
you don’t get the boxes in right the knife breaks and a man comes
and hollers at you.”
The girl of this class accepts in a matter-of-fact way conditions of
work that impress the outsider as very hard. Sometimes she tells of
having cried with weariness when she started. But complaints of the
long day, the meager reward, and the monotony are few. She has
not thought out the general aspects of the factory. Comparisons
between individual places are constant, as also are personal
grievances, usually against a “cranky forelady.” She rebels against
60.
the tediousness ofher job. “You can hear talkin’ all over our room
when the forelady goes out. Then we’ll hear her comin’ in an’ it
stops short. Soon’s she goes, we all start again.” As often as not she
throws up her job for a personal grievance—a quarrel with another
worker, a grudge against a “boss.” Fanny Mullens left the Excelsior
Laundry because her friend quarreled with the foreman and Fanny’s
loyalty would not permit her to remain. The human factor is the
strongest with these young workers.
The girl starts in a store at $3.00 or $3.50 a week; in a factory, at
$4.00 or $5.00. The 26 wage-earning girls concerning whom
information was obtained were receiving sums which varied from
$3.00 to $7.50. Of this group, three were earning $3.00 or $3.50;
eight were earning $4.00, and eight were earning $5.00. Thus 19
out of 26 were earning $5.00 or less. The remaining seven girls were
receiving $6.00 or over; three received $6.00; two, $6.50; and two,
$7.50.
One of the girls earning $6.00 had been working five years; another
earning the same amount had been working but a few months. Of
the two girls earning $7.50, one had been working four years in the
same position and the other five months. As far as our little group of
girls was concerned, there was no connection between age or
experience and wages. Practically all the girls were doing such
unskilled work that additional years and additional experience were
idle commodities. There was, on the other hand, some divergence
between what the different factories of the district were accustomed
to pay for the same grade of labor.
Along with her first humble job and her first meager wage, there
comes to the young girl her first taste of power. Her first pay
envelope is the outward and visible sign of many changes. Her
position at home is altered. She has more prestige, the first
beginning of authority. Her family may be actually dependent for
comfort on what she brings in. This gives to her desires and wishes
a new importance. However autocratic her parents’ rule may have
61.
been, they mustnow turn to her for assistance. There must follow a
certain loosening of the reins. Every now and again there is a girl
who in these early, headstrong years will press her advantage to the
full.
To these girls has come the age of self-assertion. The experience is
common to adolescence of becoming intensely aware of oneself.
With the new intensity of self-consciousness comes the desire to
assume control. At this age the girl resents being “bossed.” It is the
time when many families feel the increased friction between brothers
and sisters. Interference and guidance need to be gentle. Because
the girl is young she is apt to be extreme and her assertion will often
be crass and ill-balanced. These are traits of the adolescent girl of all
classes, but this phase among our girls is accentuated sharply by a
very definite set of circumstances.
Tradition still upholds her parents’ authority. What they ask from her
is their right. They are backed by the practical code of morals which,
in any community, counts more than many sermons. Public opinion
demands the continued subservience of both boy and girl. The
precarious state of family wellbeing has instituted a rigid system of
household economics; this is needed for mere preservation. It is
zealously guarded by the mother, ever the most wary of anything
which threatens the group. According to custom she is the spender.
All wages come to her untouched; the broken envelope violates the
social standard. Husband, sons, and daughters alike are supposed to
come under this rule. There should be no exception until the children
reach the age of eighteen or nineteen. The mother doles out
spending money according to the needs and the earnings of each.
There is no pity felt by her world for the girl who must turn over her
meager pay. This is a duty taken for granted. It is the least return
for the years during which her parents have made sacrifice and
effort for her. The feeling has reason for holding good while
economic conditions remain as they are. Each item in the family
income is far too important for the girl to escape her toll. She is born
62.
to a contestin which she, too, must take part. Only a lucky accident
can free her from this inheritance,—accident or rebellion. The pay
envelope passes through her hands, and this means the possibility of
some independence. At least the choice is hers to give grudgingly or
freely. With the responsibilities which come to her so much earlier
than to those more sheltered, comes also this earlier power.
Every degree of willingness or resentment in assuming her share of
the burden is met with in the various girls. Little wisps and snatches
of talk are straws that point to the set of the wind. “Oh, sure, there’s
a lot o’ girls that ‘knock down.’ You take this week in our place,—we
all made good overtime. I know I got two forty-nine. Well, I guess
there wasn’t a single girl but me that didn’t change her envelope, on
our floor. Whatever you make is written outside in pencil, you know.
That’s easy to fix—you have only to rub it out, put on whatever it
usually is, and pocket the change. They think I’m a fool. But I
wouldn’t lie to my mother. She has to work an’ she ain’t had things
none too easy. Some girls are like that. They’re only too proud to
make so much t’ take home.”
A common trick is to pretend to the mother that wages are smaller
than they actually are. Katie at seventeen was getting $7.50 a week;
in six months she had risen from $5.00. This was unusually good for
her set of girls. But her mother believed that she earned only $6.00.
On the other hand, there is the “worrisome” type of girl who
surrenders all. Her unselfishness is as extreme as the wilfulness of
others. She accepts her hard surroundings, as the others rebel
against them, without counting the cost, and sacrifices unsparingly
her youthful right to gaiety and pleasure. Mamie Reilly’s mother
watched with anxious regret the effect of premature care and
responsibility on her daughter. Mamie had been working five years
since, as a child of thirteen, she first insisted on getting a job. “She’s
a good girl, Mame is, but y’ never seen anything like her. Every pay
night reg’lar she’ll come in an’ sit down at that table. ‘Now, Ma,’
she’ll say like that, ‘what are you goin’ to do? How ever are y’ goin’ t’
63.
make out inth’ rent?’ ‘Land sakes,’ I’ll say, ‘one w’d think this whole
house was right there on your shoulders. I’ll get along somehow.’
But y’ can’t make her see into that. ‘Now, what’ll we do, how’ll you
manage, Ma?’ she’ll keep askin’. She’s too worrisome—that’s what I
tell her. An’ she don’t care to go out. Mebbe she’ll take a walk, but
like’s not she’ll say, ‘What’s th’ use?’ Night after night she jest comes
home, eats ’er supper, sits down, mebbe reads a bit, an’ then goes t’
bed.”
Through everything Mamie had done more than her share. At
eighteen she was tall and awkward, quiet and shy. Almost alone
among these girls, she had never learned to dance. She had none of
the frills—bangs, powder, and gewgaws—the cheap frivolities which
were the joy of the rest. But she had a dignity and reliability which
the other girls respected. In the whirl of excitement beckoning to the
girl in New York, she had led a staid, colorless life. She had never
“gone out” anywhere because she had never had any clothes. The
price she had given had been the very sap of her youth. Her mother
said, “She is too quiet-like an’ gettin’ humdrum at her age. It ain’t
right as I know.”
There is less revolt against these early exactions among the girls
than among the boys. In the midst of working hours groups of
young fellows may be seen any day of the week idling on the street
corners. They are significant of something badly awry in the social
machinery here. But the girl who refuses to work is less usual by far.
Often the loafer’s sister is going each day to her job, turning her
money in to the common fund, while he is a parasite who drains the
meager supply. Although she probably protests, it is amazing to find
how often she tolerates a scheme so unfair. One reason, perhaps, is
that a stay-at-home life is too dull to tempt her into idleness there,
and to spend time on the streets speedily brands her as “tough.” But
the chief reason is that she is ruled by the popular conception of
duty. Inheritance and custom force her to a conformity which is not
required of her brother. Her protest is fainter than his.
64.
But within thehome circle she makes her revolt felt. Rarely is a girl
“worrisome,” like Mamie Reilly; few girls surrender so much. The trail
of her way, a way glittering with “good times and fun,” carries her
often to the other extreme. She follows the lure of her desires with
an imperious insistence which does not scruple to shirk the irksome
claims of her home. The result is an atmosphere surcharged with
wrangling and spite. The girl who as a little child may have been
devoted to her father, now switches away impatiently under his
scolding. He, for his part, complains bitterly that she thinks only of
dancing and new clothes.
One German father whom we knew, at home with his broken ankle
bound in a cast, used his crutch on his fourteen-year-old daughter.
“Don’t tell me about talkin’ to girls—I know how to take care o’
them.” He brandished his weapon with ire. The home was the scene
of quarrels and threats. Amelia was given the worst of reputations
by her parents. She “had been a disgrace to them.” She stayed out
till two in the morning, hung around halls with boys, and had been
brought home by a policeman. They had tried keeping her in and
putting her under the surveillance of her nine-year-old brother, but
no amount of punishment would change her fundamentally. Rancor
and hatred had bitten into her soul. She was a strong, tall girl, loud,
unkempt, and disorderly. She was more frank than most girls, partly
from recklessness. But the bitterness with which she spoke of her
parents, the coldness with which she said, “They can have my
money if that’s what they want,” was that of hardened maturity.
The parents often get a settled distrust of a girl with which they do
not hesitate to confront her. Distrust is too often justified, for there
are few girls who scruple about telling a lie. But constant accusation
and doubt serve only to deepen suspicion and drive the girl on to
more crafty concealment. The crassness of the punishment
administered is especially bad for her years. To this can be traced so
much of the “wildness” of the children here. But familiar as she is
with brutality of one kind or another, a special resentment comes to
65.
the girl atthis age. Violence outrages her self-respect and the ideals
which are struggling for a foothold in her imagination.
The greatest strain in such households is that between mother and
daughter. The girl is starting her course, undisciplined and eager.
The woman has lived through checkered and hazardous years. She
has suffered the bearing of many children; she has watched the
death of some. What she has attained has been hardly won.
Through it all, constant labor has drained her physical strength. She
is spent, dragged, and worn, in pitiful need of the younger, more
vigorous life at her side. As she turns to it there creeps into her
attitude the note of appeal which the girl is too young to appreciate.
If she deals a rebuff with the half conscious brutality of youth, her
mother may draw back into a shell of hardness. Out of the scant
wisdom of her years the child has been forced to a decision
pregnant with results for her future; for often upon her response to
the older woman’s first appeal trembles her entire relationship with
her mother and her home.
There is no getting away from the girl’s economic value to her family.
It seems ugly and crass that a child’s contribution to the common
purse should have any bearing on the affection or guidance she will
receive. Yet it has, and her manner of contributing has even more.
Out of the conditions of this engulfing, material struggle, rise the
spiritual forces at work in each narrow tenement home. Whatever
breeds there of loyalty or bitter estrangement works out its certain
effect. And the spirit of the household is of no greater import to any
member than to the young, venturesome girl.
Here is a household where the girl’s wages have been the mainstay
for the whole winter. Louisa’s father, a German, has always been
frugal and hardworking and was even penurious in better days. He is
now seventy-four. His eyes were weakened in the days of his
strength by the strain of his trade as a tailor. Later he came to
porter’s work, but now he is too feeble for this. The mother, like so
many women in the neighborhood, earns the rent as a janitress.
66.
Louisa’s brother, ayoung man of twenty-one, is a glass cutter by
trade. His work might be steady and his wages good, but the
common blight of the West Side has struck him; he chooses to loaf
with the gang and take things easy. The old father, inveighing
against him, has wished to turn him out. But his mother, although
she too takes her turn at upbraiding, shields him against the others
and clings to a desperate belief in his transparent excuses.
In this crisis, they have looked to the $5.00 which Louisa brings
home every week from the candy factory. She is a wilful little person,
frail, underdeveloped, weak of build in character as in physique. The
reins have been put into her hands. She has used her new-found
power to add to her long day at the factory several nights every
week at dance halls where she stays until 1 or 2 o’clock. The
reproaches of her parents have no effect. “You say that you like me,”
she wails, “but you make me miserable here. I’ll go out if I want to,
and I’ll not tell where I am going. Anyhow I don’t come home drunk
like Bill and make a fuss in the hall. And I work while he hangs
around doing nothing.”
Leading the Grand March at the racket of the “Harlem Four,” Louisa
has forgotten her outburst, and the dull, sad, cramped existence at
home. She is thin, pale, sharp-featured, yet with a certain
daintiness. Her attire is “flossy” tonight. She cannot boast a ball
dress, to be sure. But her scant suit of brown serge with its sateen
collar is trim and new. It was bought at an Eighth Avenue store on
the instalment plan. Four out of the twelve dollars have been paid
down. A great encircling hat of cheap black straw reaches to the
middle of her back and bends under the weight of an enormous
“willow.” It sets off her hair, which has been bleached with peroxide.
A long bang hangs to her eyes. Her moment of elation comes as she
receives the favor for the ladies who lead, a huge bunch of
variegated flowers—roses, carnations, and daffodils. But the
costume in which she steps out so triumphantly has cost many bitter
moments at home. She has gotten it by force, with the threat of
throwing up her job.
67.
The breach iswidening between her and the parents to whom she
clung as a child. There comes the time when she gets a steady
“gentleman friend.” She is out now almost nightly. At last the mother
appears with her tale, tearful and anxious. “I don’t know whatever
I’m goin’ to do with that girl. I’ve just beat her, I have—I guess I
ruined three dollars’ worth o’ clothes. But I lost my temper. She
stands up and answers me back. An’ she’s comin’ in at 2 o’clock, me
not knowin’ where she has been. Folks will talk, you know, an’ it
ain’t right fer a girl.” So Louisa is losing her only safeguards. Foolish,
childish, easily flattered, she is drifting into a maelstrom of gaiety
and pleasure from which only chance will bring her out unscathed.
The great issue between the home and the girl is the question as to
whether her affections will center there. Only an emotional hold will
take effect on this girl. Her mind is undeveloped. She is not going to
reason far. Habit has not yet fastened her in a rut of eternal work
and decency. Possibilities that menace health and strength and, in
the long run, happiness, hedge her round. If she becomes estranged
from those who are naturally near to her, she is set adrift. She is
bound to express in some way the chaotic emotional forces within
her. She is dangerous then to herself and others, in surroundings like
these of the far West Side.
68.
A
CHAPTER V
THE WILLTO PLAY
GIRL from fourteen to eighteen is about as unstable and
kaleidoscopic as any quantity in nature. She is changing,
almost from day to day. It may be that poverty in her home has
deprived her of her full share of youth’s vigor and supreme physical
wellbeing. Even so, she keeps its impatient desire for action and
experience. She feels its disdain of restraint and hindrance; its zest
for swallowing life in hot, hasty gulps. The desire to play is strong in
her. Lack-luster resignation and pessimism are rare among the young
even where poverty weighs most heavily. The girl’s buoyant spirit
breaks loose at the instant of release from factory walls or from the
momentary depression of family want. It bubbles forth in girls’
laughter and girls’ play, and in girls’ capricious, whimsical, egoistic
moods.
The West Side girl is an independent young person. She has seen a
good deal of the world. She has the early sophistication bred of a
crowded, close-pressed life. As yet, she has not been battered to the
wall in the stress. She has not the pitiful appreciation of the middle-
aged woman for slight and passing kindliness. She is self-assertive,
arrogant, “able to take care of herself.” She comes, asking nothing,
at ease and alert, but ready to give a trial to anything thrown in her
way. If it does not suit, she will not be slow to reject it. So she
stands, looking bright and curious eyed, straight into the face of her
world. She can be defiant at a hint of challenge. And yet one finds
that she is suddenly and sharply sensitive. Ridicule and harshness
touch her to the quick. Her new-born self-consciousness is easily
wounded. A trifling hurt may become a lifelong grievance.
69.
This is asignal of a restlessness beneath the surface which she does
not herself understand. It is propelling her onward in an unconscious
search. In all her pleasure-loving, drifting adventures she is hunting
steadily for the deeper and stronger forces of life. Into her nature
are surging for the first time the insistent needs and desires of her
womanhood. But this she does not know. She is the daughter of the
people, the child of the masses. Athletics, sports, diversions, the
higher education, will not be hers to divert this deep craving. She is
not close enough to her church for religion to control it. It will stay
with her, sweeping her inevitably out of the simplicity of little
girlhood into the thousand temptations of her environment, if not,
perhaps, into one of the commonest of neighborhood tragedies.
Just now her search is translated very lightly and gaily into the
demand for “a good time” and a keen interest in the other sex. She
prosecutes it with the imperious heedlessness of her age. Her
haphazard and inconsistent training has given her little of the art of
self-control. The city bristles with the chances she longs for—“to
have fun and see the fellows.” What is to come of this depends on
the unformed character of the individual girl, the oversight of her
family,—sometimes effective and sometimes not,—and, most of all,
on chance.
The control of a little money is far more essential to these girls in
their search for enjoyment than to girls in another class. There are
many doors which a very small coin will open to her. After she goes
to work she usually has a little spending money of her own. As a rule
she is given, besides lunch money and carfare, a quarter or 50 cents
a week. This may go for candy, carfare to dances and parks, or
entrance fees to dance halls and moving picture shows. Sometimes
she spends the money given her for carfare on other and more
pleasurable things, and walks to work, “wearing out shoe leather,
which ain’t right,” as her mother complains. A carfare saved by
walking to work is a carfare earned for a trip to a dance hall “away
out in the Bronx.” Usually a single fare is enough for the whole trip.
The “fellow” who “sees you home” will pay for the return. Thus the
70.
little West Sidermakes her 25 cents carry her as far along the
primrose path as possible.
She has no keener longing than her longing for pretty and becoming
clothes. Usually she helps in selection, though now and then the
mother buys her clothing from the girl’s own earnings as
autocratically as she buys the rest of the home necessities.
Sometimes the girl is allowed to keep a dollar or two out of her pay
every week with which she buys her own clothes. Often there comes
a period of distress which swallows up her whole wages week after
week. She sees her earnings go for rent, for fuel, and for food. Hers
is not the time of life to be content with shelter, warmth, and
nourishment. She would rather starve for these things than miss her
worshipped pleasures. Mamie Craven, working steadily in the
laundry, turning in her money every Saturday night, once broke out
one night in a bitter wail, “Oh, Miss Wright, you don’t know how I
want a chinchilla coat.”
There are bound to be many lacks in her wardrobe. Usually the
greatest one is that of protective clothing. She has no overshoes and
no umbrella. When it rains she comes drenched to her club, but will
not think of foregoing the evening’s pleasure on that account. She
goes to work in the same unprotected fashion. Winter clothes are
thin and inadequate. Many a girl’s vitality is sapped for months in the
year through sheer exposure to cold. These deficiencies are endured
uncomplainingly. It is much harder if finery or the coveted Easter
suit must be foregone. The poorer girl will buy her suit on the
instalment plan—$4.00 down and $2.00 each following week. She
pays $15 for a suit of the value of $10. She is often guilty, like girls
of every class, of some wild bit of extravagance. But in her case
extravagance may become heartlessness. A girl whose income was
the only regular support of her family spent $5.00—a week’s wages
—on a willow plume. “We starved fer that hat,” her mother said,
“just plain starved fer it, so we did.”
71.
Social relations betweengirls of their age and class are very unlike
those of boys. A single friend or a little clique takes the place of the
gang. They will follow a leader for a moment but not consistently;
they are jealous of leadership and slow to acknowledge it. There is
almost no natural loyalty to a group. Probably the girl by the time
she reaches fourteen has already some special companion. This may
be a playmate from her school days, or, very likely, a “pick up” on
the street or at work, who soon has the title of “me lady friend.” The
relationship may extend over years. It is very constant and means
that the two share most of their pleasures together. There are
distinct requirements; one must “call up” and “wait in” and not “go
round” too much with anyone else. But the girl is rare who has a
strong feeling of obligation toward appointments or promises.
Therefore the friendship is sure to be checkered by quarrels and
reunions. There are besides a thousand and one reasons for dispute.
The quarrel is taken very seriously, but the chances are that the
breach will heal before long. However, this is not always so; no
prediction formed on girl nature is sure. The relationship assumes at
times some of the formality and ceremony of the gang. In one case,
a definite proposal to be “friends” was made by a girl who had
quarreled with her former lady friend. The second girl declined, not
from any dislike, but because she was already “going with somebody
else.” When a girl begins to have a “gentleman friend” even the
slight ceremony of calling up and waiting in for the girl friend is
omitted.
The cliques consist of three or four girls, seldom of more. They are
likely to exist among the younger girls who have played together as
children. They are seldom formed later on, but incline to resolve
themselves into the standard couples.
The girls’ homes are not very advantageous places for entertainment
and fun. They are too cramped and often too forlorn. Yet everyone
here is used to these conditions, and they are not the only
difficulties which stand in the way of visits and hospitality. Visits from
gentlemen friends are frowned upon and not desired. The parents,
72.
especially of theyounger girls, look askance on the boys who come
to see them.
“My father was always too strict with us girls,” said an older sister,
married and established in her own home. “It was always work and
keep quiet at home the minute we came in from the factory. He
believed that girls must be kept down. He’d have beaten us good if
we’d brought a fellow home. So I used to meet my friend at a corner
a few blocks off, just the same as my sister Maggie has been doing.
It’s only a wonder I didn’t get into trouble the same as she has done
and get put away like her. I’m not the one to turn against her now.
When she comes out of the Home, she and her baby can come and
live with me.”
The sequel of Maggie’s story only served to prove the unwisdom of
the parental policy which had tried to “keep her down.” One day
Maggie returned to her sister’s home with her six-months-old baby.
A week later her sister announced with the utmost gratification and
relief that Maggie was married. “If she’d only told us at the start,
there’d never been any need for all this trouble. Hannick is a decent
fellow and has steady work. He was looking for Maggie all the time
she was in the hospital and he was afraid to ask her folks what had
become of her. As soon as she came back here, he sent word to me
and asked if he could see her. That was the first time I knew who
her fellow was. When he came around I told them they ought to go
straight off to the priest, and they did.”
The street corner has become, with its free and easy etiquette, a
substitute for the home. It is very popular in spite of nagging from
the “cop.” Still, the policeman is not a very censorious chaperon.
Even the older girl whose parents have opened their door to her
company has often learned to prefer its lack of supervision. As a
place of rendezvous it is greatly preferred to a parlor of one’s own
where one must be “real lady-like.” “You see,” one of the girls
explained, “my friend comes to my home; then if he wants me to go
somewhere to a dance, my mother’ll likely hear and won’t let me.
73.
My brother knowsall the places and he’ll tell my mother there’s likely
to be shooting there. He makes it bad for me that way.”
The boys’ preference for the street corner is quite as strong as the
girls’. Their habit is to send a small boy as intermediary to the girl’s
door to tell her who is waiting in the hall below. An incident at “471”
gave the smaller boys a chance to express their sentiment. Their
gang, known in the neighborhood as “tough young nuts,” were
giving a return party to their girl friends. It was to be a “swell” affair,
and had involved much consultation and collecting of money
beforehand. The instructions had been, “Buy three times as much
ice cream as the girls had at their party. Get a cake as big as the
cover of this table (a centerpiece 22 inches round). Get three
pounds of good candy. Get all the milk and cocoa you want for them
girls, but none of that for us. We want soda and ginger ale and
celery tonic.” These concoctions, not as harmless as their names
suggest, had been purchased by the boys. Everything was
elaborately ready and the party had begun. All the guests had
arrived except the special friends of two of the boys. A club leader’s
naïve suggestion was that Peter and “Gimp” should call for the girls
at their homes. Gimp leaned forward, astonished, as if uncertain of
what he had heard. “Homes,” he gasped, in a tone surcharged with
dismay. “Gee,” the other boy added, “that sure w’d be some place to
go, a’right.”
Still, the home is by no means to be discounted entirely as a place
for recreation. There is too much Irish jollity and good-fellowship in
our neighborhood to make it altogether a tame and stupid place.
The “house party,” as any home gathering is known, is not unusual.
Music, dancing, and drinking are the chief features of the
entertainment on such occasions. A Thanksgiving party at the
McKeevers’, for instance, to which the family invited one of the club
leaders, showed that the happy good-fellowship which Goldsmith
mourned as forever departed from the “Deserted Village” has
crossed the ocean with the Irish immigrants and is still preserved to
some extent in their newer stronghold on the Middle West Side.
74.
The homelike spiritof the gathering was noticeable. Mrs. McKeever,
gray-haired, fifty-two years of age, presided over the festivities. She
sat in the only rocking chair, holding in her arms the small son of a
neighbor, aged three, extremely dirty and ragged, and as a
companion a fox terrier, the pet of the McCormick family. Then came
Mrs. O’Hara, the neighbor from the next tenement, large and fat and
slovenly, but perfectly good-natured and kindly. She was nursing a
small child who was boarded with her by some organization. The
child was sleepy and tired and whenever he dozed off was wakened
by the music and dancing. In the corner of the sofa next to Mrs.
O’Hara was a small, undeveloped specimen of humanity in a faded
flannellette dress and very much broken shoes whose appearance
classed her as degenerate. She was also a neighbor and had come
in to take part in the Thanksgiving festivities. On the same sofa with
her at the other end sat a well made-up Negro minstrel, with feet
crossed and a large guitar in his arms, who played and sang as well
as many a man in a minstrel show on the stage. Next to him, on a
kitchen chair, sat a chap of probably thirty-five years. A crutch stood
beside his chair, and upon a closer look one could see that one of his
legs had been amputated. He was very dreamily playing an
accordion, and had had just enough drink to make him very solemn
and uninterested in people and things in general. Mrs. McKeever
several times deposited the small child and the fox terrier in the
middle of the floor and went over to remonstrate with him for not
being willing to take part in the ceremonies. He, however, could not
be persuaded and sat perfectly still, only occasionally extracting a
glass of beer from under his chair and offering it to the others. Over
in the corner next to the man with the accordion was a short, stout
boy, probably of seventeen years, in his shirt sleeves, whose chief
desire was to dance, but who found it difficult to procure partners.
These were the guests on one side of the room. In front of the large
pier glass at the end the chair was occupied by an immense Teddy
bear, who occasionally was forced into taking part in the dances and
general merrymaking. The next seat was occupied by Delia
McKeever. Delia was a remarkably good-looking girl, and on most
75.
occasions was neatand tidy, but this evening she was conspicuous
because of her untidiness. She had had enough beer to make her
unusually mirthful and to make her dance much better than usual.
Next to Delia sat Annie, also in most untidy condition. Lizzie, the
youngest daughter, was sent for to come in from the street. She was
dressed in boy’s clothes and had been out masquerading. Holding
the center of the floor was a rather handsome chap who played the
mandolin well and had a bellowing baritone voice.
The McKeever family were very solicitous that their guests should
have a good time, and went around whispering to the musicians,
telling them to play or sing whatever the visitors suggested.
Everyone sang “The Suwanee River,” and the players of the mandolin
and accordion sang several of the latest popular songs. Delia and
Annie did a fancy dance known as the “Novelty.” Delia also danced
with the chap in the corner, who was ever busy trying to procure a
partner. He was so much shorter than Delia that she could
conveniently rest her forehead on his head, which she did during the
entire dance, making him act very much as a prop to her wilful, antic
steps.
There are two places in which the unoccupied of all ages and types
may be seen—the streets and the moving picture shows. Eighth
Avenue, the residence street of our aristocracy, is the promenade of
the district. No one has better expressed the essential spirit of these
promenades than Mr. Wells has done in The New Machiavelli.81
“Unkindly critics, blind to the inner meanings of things, call them, I
believe, Monkey’s Parades—the shop apprentices, the young work
girls, the boy clerks, and so forth, stirred by mysterious intimations,
spend their first-earned money upon collars and ties, chiffon hats,
smart lace collars, walking-sticks, sunshades, or cigarettes, and
come valiantly into the vague transfiguring mingling of gas light and
76.
evening, to walkup and down, to eye meaningly, even to accost and
make friends. It is a queer instinctive revolt from the narrow, limited,
friendless homes in which so many find themselves, a going out
toward something, romance, if you will, beauty, that has suddenly
become a need—a need that hitherto has lain dormant and
unsuspected. They promenade. Vulgar!—it is as vulgar as the spirit
that calls the moth abroad in the evening and lights the body of the
glow-worm in the night.”
Here also are the flashing, gaudy, poster-lined entrances of
Hickman’s and of the Galaxy. These supply the girls with a “craze,”
the same that sends those with a more liberal allowance to the
matinees. Their pictures spread out adventure and melodrama which
are soul-satisfying. The vaudeville is even more popular and not so
clean.
Sooner or later almost every girl drifts into some club or settlement.
She is a wandering spirit, difficult to hold, still more difficult to tie
down to any definite program. She wants activity but soon tires of
any one form of it. She cannot concentrate, especially on any finely
co-ordinated work requiring time and patience. Dancing and music
make the strongest appeal to her. A boisterous club room will quiet
suddenly to the sound of “Oh! Mr. Dream Man, let me dream some
more.” The dark-eyed girl at the piano drawls in shrill nasal mimicry
of the vaudeville “artist,” copying her air and mannerisms.
Cheap and shoddy—but the scene typifies that groping for the ideal
which is universal. Look along the line of faces, stilled and attentive.
Something is there neither cheap nor small. Here the face of a
youngster is caught an instant from its impish drollery. The
hardening lines are soft as with a child’s wonder at something
beautiful and new. Next to her an older girl is leaning forward. Her
features are haggard and drawn, a ghastly white. But she sits with
opened lips and a look in her eyes as if she heard beyond the
singing something half articulate and far-away. The song has
brought a quickening of the imagination, a stirring of childish,
77.
Welcome to OurBookstore - The Ultimate Destination for Book Lovers
Are you passionate about books and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
ebookgate.com